TCPIP Chat
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Antonio Linares wrote:Silvio,
If you are going to have multiple clients, then the browse solution that I proposed you is simpler to be implemented.
Unless it is not going to be used on a lan.
Antonio,
Please, it's possible send to me this solution? Thank you.
Peace and lighting!
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
Dear Antonio,
why we cannot create a small tcip chat
the our fwh classes not run ok?
I saw it (there is cpp source code) why not create it with fivewin?
I found fwserver and client sample :not run
I think we must not use fwh only for create application to administrate dbfs.
we must enlarge fwh horizonts
why we cannot create a small tcip chat
the our fwh classes not run ok?
I saw it (there is cpp source code) why not create it with fivewin?
I found fwserver and client sample :not run
I think we must not use fwh only for create application to administrate dbfs.
we must enlarge fwh horizonts
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
HI, i down this files in some fivewin forum, i dont remember where.... i dont know about author..
sorry, my mistake , author is Author Yanni Yannas - Rhodes Greece.
Server :
/ Server .
// Server receives IP pcakets from the clients.
// Each packet starts with chr(1) and ends with chr(3). So we know if the packet
// is complete. Delimiter is '|' .
// chr(1)|IPNum|Username|Message|Command|chr(3)
// IPNum = sender's IP number
// Username = sender's UserName
// Message = Message
// Command = Command to execute
// Every Packet when received on the server, is sent to all users.
// Server , uses an array to store info about it's clients.
#include "Fivewin.ch"
#include "Splitter.ch"
#xcommand DEFINE GSERV <cVar> ;
=> <cVar> = GSERV():New()
#DEFINE iDSERVERPORT 790 // Server : Port No. to listen
//------------------------------------------------------------------------//
// Server section .
//------------------------------------------------------------------------//
Function Server(oBtn)
//
MemVar oApp, oChatserver, ochatclient
Define GSERV oChatServer // define Server object
oBtn:Disable()
return .t.
Static Function OnReadServer( oSocket )
// actions to perform when reading data from the socket oSocket
local xPacket
local xDelim, i
Local xIPNum, xUserName, xMsg, xCommand
Local nPos, nArrLen, nTime
xPacket := oSocket:GetData() // chr(1)|IPNum|Username|Message|Command|chr(3)
xDelim := "|"
i := 0
nTime := 0
if StrToken(xPacket, 1, xDelim ) = chr(1) .and. Substr(xpacket,2,1) = "|"
// ok to proceed
else
return .f.
endif
// LogFile( "server.txt", { xPacket } )
xCommand := StrToken(xPacket, 5, xDelim )
xMsg := StrToken(xPacket, 4, xDelim )
xUserName := StrToken(xPacket, 3, xDelim )
xIPNum := StrToken(xPacket, 2, xDelim )
Do Case
Case xCommand = "UPD" // send updated array of users
aArray := oChatServer:aServerUsers
nPos := aScan(aArray, {|aVal| aVal[1] == xUserName} ) // scan array
For i :=1 to Len(aArray)
if aArray[i,1] = xUsername
loop
Endif
aArray[nPos,3]:SendData(chr(1)+ "|" +;
aArray[i,2] + "|" +; // IPnum
aArray[i,1] + "|" +; // username
"NIL" + "|" +; // message
"UPD" + "|" + chr(3) )
syswait(.1)
Next
Case xCommand = "ADD" // new user
nTime := Seconds()
aAdd(oChatServer:aServerUsers, {xUserName, xIPNum, oSocket, nTime} )
oChatServer:WRData(xUsername+", connected")
For i :=1 to Len(oChatServer:aServerUsers)
oChatServer:aServerUsers[i,3]:SendData(xPacket) // send packet to everyone
syswait(.2)
next i
Case xCommand = "DEL" // Delete user
nPos := aScan(oChatServer:aServerUsers, {|aVal| aVal[1] == xUserName} ) // scan array
nArrLen := Len(oChatServer:aServerUsers) // get users array len
aDel(oChatServer:aServerUsers, nPos) // delete array element
aSize(oChatServer:aServerUsers, (nArrlen -1) ) // shrink
oApp:oLbx:refresh() // refresh listbox
OnCloseClient(oSocket)
oApp:WRData(xUsername+", disconnected") // write to the memo
For i :=1 to Len(oChatServer:aServerUsers)
oChatServer:aServerUsers[i,3]:SendData(xPacket) // send packet to everyone
syswait(.2)
next i
case xCommand = "CCC" // client connection check (if a client is still connected)
// incoming from client
nPos := aScan(oChatServer:aServerUsers, {|aVal| aVal[1] == xUserName} ) // scan array
nTime := Seconds()
oChatServer:aServerUsers[nPos, 4] := nTime // check done. save the time.
case xCommand = "CUN" // change user name
// user has changed his name
case xCommand = "MSG" // incoming chat packet
// dispatch MSG
For i :=1 to Len(oChatServer:aServerUsers)
oChatServer:aServerUsers[i,3]:SendData(xPacket)
next i
case xCommand = "POP" // incoming Popup msg
// private messaging
// ???????? !!!
Endcase
return nil
Static Function OnCloseClient( oSocket )
// oChatServ:WrData("Client disconnected" )
oSocket:End()
return nil
Function ChkClients()
// see if the clients are still connected to server
Local nPos, nTime, i, nArrLen, nPos1, nArrLen1
Local oClient, cUser2del
Memvar oChatServer
nPos := 0
nTime := 0
i := 0
nPos1 := 0
nArrLen:= Len(oChatServer:aServerUsers)
nArrLen1:=0
For i := 1 to nArrLen
nTime := oChatServer:aServerUsers[i,4]
// MsgInfo(Str( Seconds() - nTime) + "|" + oChatServer:aServerUsers[i,1] )
if (Seconds() - nTime) > 42 // server lost connection with the client (apparently)
oChatServer:oTimer:Deactivate()
oApp:WRData(oChatServer:aServerUsers[i,1]+", lost connection") // write to the memo
cUser2del := oChatServer:aServerUsers[i, 1]
OnCloseClient(oChatServer:aServerUsers[i, 3]) // close socket
aDel(oChatServer:aServerUsers, i) // delete array element
aSize(oChatServer:aServerUsers, (nArrlen -1) ) // shrink
nArrLen:= Len(oChatServer:aServerUsers)
For ii := 1 to nArrLen // inform others , so they delete the user
oClient := oChatServer:aServerUsers[ii, 3]
SendMsg(oClient, cUser2del, "DEL", "NIL") // delete user cuser2Del
Next ii
oChatServer:oTimer:Activate()
endif
next i
return .t.
//------------------------------------------------------------------------//
// Server section . END
//------------------------------------------------------------------------//
Client:
// Client.
// The chat client.
// User writes his message, which upon hitting Enter key,
// is sent to the chat server, as a packet.
// Syntax of the packet
// chr(1)|IP Num|Username|Message|Command|chr(3)
#include "Fivewin.ch"
#include "Splitter.ch"
#xcommand DEFINE GCLIENT <cVar> ; // Object
=> <cVar> = GCLIENT():New()
#DEFINE iDSERVERPORT 790 // Server listens at this port
#DEFINE CLR_GETS RGB(255,255,220)
//------------------------------------------------------------------------//
// Client section
//------------------------------------------------------------------------//
Function Client(oBtn, obtn1) // start client
Local oDlg, oGet1, oGet2, cVar1, cVar2
Local lNoShow := .t.
MemVar oApp, oChatserver, ochatclient
cVar1:= space(15) // ip
cVar2:=Space(12) // user name
oBtn:Disable() // sorry for this, i have to figure out another way....
oBtn1:Disable()
Define GCLIENT oChatClient // define Client object
DEFINE DIALOG oDlg RESOURCE "CONN" of oApp:oMainWnd
REDEFINE GET oGet1 Var cVar1 ID 201 of oDlg COLOR CLR_BLACK, CLR_GETS
REDEFINE GET oGet2 Var cVar2 ID 202 of oDlg COLOR CLR_BLACK, CLR_GETS
oGet1:bValid := {|| !Empty(cvar1) }
oGet1:bLostFocus:= {|| oGet1:Assign(), ;
(oChatClient:cServerIP := Alltrim(oGet1:varGet())) }
oGet2:bValid := {|| !Empty(cvar2) }
oGet2:bLostFocus:= {|| oGet2:Assign(), ;
(oChatClient:cUserName := Alltrim(oGet2:VarGet())) }
REDEFINE BUTTON oBtn1 ID 106 Action ( oChatClient:Conn2Server(lNoShow), oDlg:End() )
REDEFINE BUTTON oBtn2 ID 107 Action oDlg:End()
Activate Dialog oDlg
return .t.
Static Function OnConnect(oClient)
// connected, ask from server to add on the list and send back user names.
Memvar oChatClient
Sendmsg(oClient,oChatClient:cUserName,"ADD","NIL")
oChatClient:WRData("Connected")
syswait(.2)
// request Update from server
SendMsg(oClient, oChatClient:cUserName, "UPD", "NIL")
syswait(.2)
Return .t.
Function OnCloseClient(oClient)
SendMsg(oClient, oChatClient:cUserName, "DEL", "NIL")
syswait(.2)
// ::WRDATA("Disconnected")
return .t.
Function ChkTimer()
// connection check
SendMsg(oChatClient:oClientSock, oChatClient:cUsername, "CCC", "NIL")
return .t.
Function SendMsg(oClient, xUsername, xCommand, xMsg)
// send the packet.
Local xPacket, xIPNum
Default xMsg := "NIL"
xUsername := Alltrim(xUserName)
xIpNum := oClient:cIPAddr
xPacket :=chr(1) + "|" + ;
xIpNum + "|" + ;
xUserName + "|" + ;
xMsg + "|" + ;
xCommand + "|" + ;
Chr(3)
oClient:SendData(xPacket)
return .t.
Static Function ClientRead(osocket)
local xPacket
local xDelim, i
Local xIPNum, xUserName, xMsg, xCommand
Local nPos, nArrLen
Memvar oApp , oChatClient
xPacket:= oSocket:getData()
syswait(.1)
xDelim := "|"
i := 0
nPos := 0
nArrLen:= 0
// chr(1)|IPNum|Username|Message|Command|chr(3)
if StrToken(xPacket, 1, xDelim ) = chr(1) .and. Substr(xpacket,2,1) = "|"
// ok to proceed
else
return .f.
endif
xCommand := StrToken(xPacket, 5, xDelim )
xMsg := StrToken(xPacket, 4, xDelim )
xUserName := StrToken(xPacket, 3, xDelim )
xIPNum := StrToken(xPacket, 2, xDelim )
Do Case
Case xCommand = "UPD" // incoming update (users)
nPos := aScan(oApp:aUsers, {|aVal| aVal[1] == xUserName} ) // scan array
if nPos = 0
aAdd(oApp:aUsers, {xUserName, xIPNum} )
oApp:oLbx:refresh()
Endif
Case xCommand = "ADD" // incoming new user.
aAdd(oApp:aUsers, {xUserName, xIPNum} )
oApp:oLbx:refresh()
Case xCommand = "DEL" // incoming Delete user
nPos := aScan(oApp:aUsers, {|aVal| aVal[1] == xUserName} ) // scan array
nArrLen:= Len(oApp:aUsers) // get users array len
aDel(oApp:aUsers, nPos) // delete array element
aSize(oApp:aUsers, (nArrlen -1) ) // shrink
oApp:oLbx:refresh() // refresh listbox
oApp:WRData(xUsername+", disconnected") // write to the memo
Case xCommand = "MSG" // incoming Message
oChatClient:WRData(xUserName+" > "+ xMsg)
EndCase
// oApp:WRData(xPacket)
return .t.
****************************************************************
//CLASS Definition
****************************************************************
CLASS GCLIENT
DATA oClientSock
DATA oTimer AS OBJECT
DATA cUserName AS CHARACTER
DATA cServerIP AS CHARACTER
DATA nPackets AS NUMERIC
DATA nServerPort AS NUMERIC
DATA lConnected AS LOGICAL
DATA aUsers AS ARRAY INIT {}
METHOD New() CONSTRUCTOR
METHOD WRData(ctext) INLINE oApp:WrData(ctext)
METHOD CONN2SERVER()
METHOD END()
ENDCLASS
METHOD NEW() CLASS GCLIENT
::nPackets := 0
::cServerIP := ""
::nServerPort:= 0
::cUserName := ""
::lConnected := .f.
return self
METHOD CONN2SERVER() CLASS GCLIENT
Local c1, c2,c3,c4
MemVar oApp
::cServerIP := Alltrim(::cServerIP) // get rid of blanks
::oClientSock := TSocket():New(iDSERVERPORT)
::oClientSock:bRead := { |oClient| ClientRead(oClient)}
::oClientSock:bConnect := { |oClient| OnConnect(oClient) }
// ::oClientSock:bClose := { |oClient| OnCloseClient(oClient) }
::oClientSock:Connect( ::cServerIP ) // use the server IP address here
::lConnected := .t.
oApp:lClientConnected := .t.
oApp:oMainWnd:SetText(::cuserName)
::oTimer := Ttimer():New(30000, {|| ChkTimer() }, oApp:oMainWnd )
::oTimer:Activate()
return self
METHOD END CLASS GCLIENT
// close
::oTimer:Deactivate()
syswait(.2) // just wait .2 sec
::oClientSock:End()
syswait(.2) // just wait .2 sec
::WRData("disconnected from chat")
::oTimer:End()
syswait(.3) // just wait .3 sec
return self
****************************************************************
//END OF CLASS Definition
****************************************************************
Chat:
// Chat for FW, FWH. version beta 1 May 2, 2001
// Author Yanni Yannas - Rhodes Greece. Email : plous-rh@otenet.gr
// Description :
// A chat program over TCP/IP written in Fivewin.
// The original program was written in FWH and Harbour. But i still have problems
// with the displaying of the memo. Until solved, i 'dropped back' to Fivewin.
// I wrote this, as a excercise, trying to understand sockets.
// Contains a server section and a client section. Any station can act as server
// for the chat session.
// Tested over the internal company network with 4 users.
// I apologise for the confusing coding in some places, i hope to correct that when
// i will have more knowledge on sockets...
// Please, feel free to correct, add code, and use as you wish.
// Many thanks to everyone of you my friends for your continuous support and help.
//
// To my friend Vangelis, a special 'thank you !', for his very original help on sockets :
// "Immagine water pipes. If you connect the right edges, then , water goes
// where you want to send it !"
#include "Fivewin.ch"
#include "Splitter.ch"
#xcommand DEFINE LETR <cVar> ; // Object definition at the end of file
=> <cVar> = LETR():New()
#DEFINE CLR_BROW RGB(235,202,171)
#DEFINE CLR_BFOOT RGB(26,120,160)
#DEFINE CLR_FFOOT CLR_YELLOW
#DEFINE CLR_GETS RGB(255,255,220)
#DEFINE CLR_RONLY RGB(0,232,225)
Function Main()
Local oVSplit, oHSplit
Local oBar, oMsgBar, oServerBtn, oClientBtn, oFontBtn
Public oApp, oChatServer, oChatClient
Set date British
Set epoch to 1960
Set Century on
Set confirm on
Define LETR oApp // define Object . Contains global variables
Define Font oApp:oFont Name "MS Sans Serif" SIZE 11, -10
Define Window oApp:oMainWnd From 20,20 to 340,500 PIXEL Title "Chat for FW"
oApp:oMainWnd:SetFont(oApp:oFont)
Define MsgBar oMsgBar of oApp:oMainWnd
DEFINE BUTTONBAR oBar Size 32,32 OF oApp:oMainWnd 3d
DEFINE BUTTON Resource "Exit" OF oBar ;
Tooltip " Exit" ;
ACTION oApp:oMainWnd:End()
DEFINE BUTTON oServerBtn Resource "xrun" OF oBar ;
ToolTip "Start Server";
Action ( Server(oServerBtn), client(oClientBtn, oServerBtn) )
DEFINE BUTTON oClientBtn resource "Green" OF oBar ;
ToolTip "Start client";
Action ( Client(oClientBtn, oServerBtn) )
@ 206,1 get oApp:oGet var oApp:cgetVar Size 400,21 Pixel ;
Font oApp:oFont ;
COLOR CLR_BLACK, CLR_GETS ;
Of oApp:oMainWnd;
ON CHANGE (::Assign, Prep2Send(nKey) )
oApp:oMainWnd:oBottom := oApp:oget
@ 0,1 Get oApp:oMemo Var oApp:cMemoVar MULTI SIZE 340,200 PIXEL ;
Font oApp:oFont ;
COLOR CLR_WHITE, CLR_BFOOT;
ReadOnly OF oApp:oMainWnd
@ 0,346 LISTBOX oApp:oLbx FIELDS "";
SIZE 200,200 ;
COLOR CLR_FFOOT, CLR_BFOOT;
HEADER "Users";
SIZES 70;
PIXEL OF oApp:oMainWnd
oApp:oLbx:nAt := 1
oApp:oLbx:bLine := { || { oApp:aUsers[ oApp:oLbx:nAt ][ 1 ] } }
oApp:oLbx:SetArray(oApp:aUsers)
@ 0,341 SPLITTER oVSplit ;
VERTICAL ;
PREVIOUS CONTROLS oApp:oMemo ;
HINDS CONTROLS oApp:oLbx ;
LEFT MARGIN 300 ;
RIGHT MARGIN 40 ;
SIZE 4, 200 PIXEL ;
OF oApp:oMainWnd ;
3DLOOK
ACTIVATE WINDOW oApp:oMainWnd ;
ON RESIZE ( oVSplit:Adjleft(), oVSplit:AdjRight() ) ;
VALID (ServerExit(), .t. )
return nil
Function ServerExit()
MemVar oApp, oChatClient
If oApp:lClientConnected
OnCloseClient(oChatClient:oClientSock)
Endif
oApp:End()
return .t.
Function Prep2Send(nkey)
MemVar oApp, oChatClient
Do case
Case nkey < 13 .And. oApp:lClientConnected // backspace .. etc
oApp:cTGetBuff := Alltrim(oApp:cgetVar)
Case nKey = 13 .And. oApp:lClientConnected
oApp:oGet:oJump:=oApp:oGet // focus again
if ValType(oChatClient) ="O"
SendMsg(oChatClient:oClientSock, ; // function sendMsg() in Client.prg
oChatClient:cUserName,"MSG", oApp:cTGetBuff)
Endif
oApp:oGet:VarPut(Space(130))
oApp:oget:refresh()
oApp:cTGetBuff :=""
Otherwise
// oApp:cTGetBuff := oApp:cTGetBuff + chr(nKey)
oApp:cTGetBuff := Alltrim(oApp:cgetVar) + chr(nKey)
oApp:oGet:oJump:=oApp:oGet // focus again
Endcase
return .t.
/***
* TimeAsSeconds( <cTime> ) --> nSeconds
* Convert a time string to number of seconds from midnight
*/
FUNCTION TimeAsSeconds( cTime )
RETURN VAL(cTime) * 3600 + VAL(SUBSTR(cTime, 4)) * 60 +;
VAL(SUBSTR(cTime, 7))
****************************************************************
//CLASS Definition . Program vars
****************************************************************
CLASS LETR
DATA oMainWnd, oFont, oLbx, oMemo, oGet
DATA cMemoVar, cGetVar AS CHARACTER
DATA cTGetBuff AS CHARACTER
DATA cLocalDir AS CHARACTER
DATA aUsers AS ARRAY INIT {}
DATA iPac AS NUMBER
DATA cComputer AS CHARACTER INIT "" // Net computer name (not used yet)
DATA lClientConnected AS LOGICAL
METHOD New() CONSTRUCTOR
METHOD WRData(ctext)
METHOD END()
ENDCLASS
METHOD NEW() CLASS LETR
::cLocalDir := ".\"
::aUsers := {}
::cGetVar := Space(130)
::cTGetBuff := ""
::lClientConnected:= .f.
return self
METHOD WRData(ctext) CLASS LETR // write on screen
::oMemo:Append(ctext)
::oMemo:Append(CRLF)
::oGet:SetFocus()
return self
METHOD END CLASS LETR
// close
MemVar oChatClient, oChatServer
If ::lClientConnected
oChatClient:End()
Endif
return self
****************************************************************
//END OF CLASS Definition
****************************************************************
Chat.rc
/****************************************************************************
chat.rc
produced by Borland Resource Workshop
*****************************************************************************/
LRED ICON LOADONCALL MOVEABLE DISCARDABLE
{
'00 00 01 00 01 00 20 20 10 00 00 00 00 00 E8 02'
'00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
'00 00 01 00 04 00 00 00 00 00 00 02 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00'
'00 00 80 00 80 00 80 80 00 00 C0 C0 C0 00 80 80'
'80 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00'
'00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00'
'00 99 99 90 80 00 00 00 99 99 99 00 00 00 00 00'
'00 09 99 99 08 00 00 09 99 99 90 00 00 00 00 00'
'00 00 99 99 90 80 00 99 99 99 00 00 00 00 00 00'
'00 00 09 99 99 08 09 99 99 90 00 00 00 00 00 00'
'00 00 00 99 99 90 99 99 99 00 00 00 00 00 00 00'
'00 00 00 09 99 09 99 99 90 00 00 00 00 00 00 00'
'00 00 00 00 90 99 99 99 00 00 00 00 00 00 00 00'
'00 00 00 00 09 99 99 90 80 00 00 00 00 00 00 00'
'00 00 00 00 99 99 99 09 08 00 00 00 00 00 00 00'
'00 00 00 09 99 99 90 99 90 80 00 00 00 00 00 00'
'00 00 00 99 99 99 09 99 99 08 00 00 00 00 00 00'
'00 00 09 99 99 90 09 99 99 90 80 00 00 00 00 00'
'00 00 99 99 99 00 00 99 99 99 08 00 00 00 00 00'
'00 09 99 99 90 00 00 09 99 99 90 80 00 00 00 00'
'00 99 99 99 00 00 00 00 99 99 99 08 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF'
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0F'
'F0 0F F8 07 E0 1F FC 03 C0 3F FE 01 80 7F FF 00'
'00 FF FF 80 01 FF FF C0 03 FF FF E0 07 FF FF F0'
'07 FF FF E0 03 FF FF C0 01 FF FF 80 00 FF FF 00'
'00 7F FE 01 80 3F FC 03 C0 1F F8 07 E0 0F F0 0F'
'F0 0F FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
}
3P BITMAP LOADONCALL MOVEABLE
{
'42 4D 36 08 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 20 00 00 00 20 00 00 00 01 00 08 00 00 00'
'00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 01'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 D4 F0'
'FF 00 B1 E2 FF 00 8E D4 FF 00 6B C6 FF 00 48 B8'
'FF 00 25 AA FF 00 00 AA FF 00 00 92 DC 00 00 7A'
'B9 00 00 62 96 00 00 4A 73 00 00 32 50 00 D4 E3'
'FF 00 B1 C7 FF 00 8E AB FF 00 6B 8F FF 00 48 73'
'FF 00 25 57 FF 00 00 55 FF 00 00 49 DC 00 00 3D'
'B9 00 00 31 96 00 00 25 73 00 00 19 50 00 D4 D4'
'FF 00 B1 B1 FF 00 8E 8E FF 00 6B 6B FF 00 48 48'
'FF 00 25 25 FF 00 00 00 FE 00 00 00 DC 00 00 00'
'B9 00 00 00 96 00 00 00 73 00 00 00 50 00 E3 D4'
'FF 00 C7 B1 FF 00 AB 8E FF 00 8F 6B FF 00 73 48'
'FF 00 57 25 FF 00 55 00 FF 00 49 00 DC 00 3D 00'
'B9 00 31 00 96 00 25 00 73 00 19 00 50 00 F0 D4'
'FF 00 E2 B1 FF 00 D4 8E FF 00 C6 6B FF 00 B8 48'
'FF 00 AA 25 FF 00 AA 00 FF 00 92 00 DC 00 7A 00'
'B9 00 62 00 96 00 4A 00 73 00 32 00 50 00 FF D4'
'FF 00 FF B1 FF 00 FF 8E FF 00 FF 6B FF 00 FF 48'
'FF 00 FF 25 FF 00 FE 00 FE 00 DC 00 DC 00 B9 00'
'B9 00 96 00 96 00 73 00 73 00 50 00 50 00 FF D4'
'F0 00 FF B1 E2 00 FF 8E D4 00 FF 6B C6 00 FF 48'
'B8 00 FF 25 AA 00 FF 00 AA 00 DC 00 92 00 B9 00'
'7A 00 96 00 62 00 73 00 4A 00 50 00 32 00 FF D4'
'E3 00 FF B1 C7 00 FF 8E AB 00 FF 6B 8F 00 FF 48'
'73 00 FF 25 57 00 FF 00 55 00 DC 00 49 00 B9 00'
'3D 00 96 00 31 00 73 00 25 00 50 00 19 00 FF D4'
'D4 00 FF B1 B1 00 FF 8E 8E 00 FF 6B 6B 00 FF 48'
'48 00 FF 25 25 00 FE 00 00 00 DC 00 00 00 B9 00'
'00 00 96 00 00 00 73 00 00 00 50 00 00 00 FF E3'
'D4 00 FF C7 B1 00 FF AB 8E 00 FF 8F 6B 00 FF 73'
'48 00 FF 57 25 00 FF 55 00 00 DC 49 00 00 B9 3D'
'00 00 96 31 00 00 73 25 00 00 50 19 00 00 FF F0'
'D4 00 FF E2 B1 00 FF D4 8E 00 FF C6 6B 00 FF B8'
'48 00 FF AA 25 00 FF AA 00 00 DC 92 00 00 B9 7A'
'00 00 96 62 00 00 73 4A 00 00 50 32 00 00 FF FF'
'D4 00 FF FF B1 00 FF FF 8E 00 FF FF 6B 00 FF FF'
'48 00 FF FF 25 00 FE FE 00 00 DC DC 00 00 B9 B9'
'00 00 96 96 00 00 73 73 00 00 50 50 00 00 F0 FF'
'D4 00 E2 FF B1 00 D4 FF 8E 00 C6 FF 6B 00 B8 FF'
'48 00 AA FF 25 00 AA FF 00 00 92 DC 00 00 7A B9'
'00 00 62 96 00 00 4A 73 00 00 32 50 00 00 E3 FF'
'D4 00 C7 FF B1 00 AB FF 8E 00 8F FF 6B 00 73 FF'
'48 00 57 FF 25 00 55 FF 00 00 49 DC 00 00 3D B9'
'00 00 31 96 00 00 25 73 00 00 19 50 00 00 D4 FF'
'D4 00 B1 FF B1 00 8E FF 8E 00 6B FF 6B 00 48 FF'
'48 00 25 FF 25 00 00 FE 00 00 00 DC 00 00 00 B9'
'00 00 00 96 00 00 00 73 00 00 00 50 00 00 D4 FF'
'E3 00 B1 FF C7 00 8E FF AB 00 6B FF 8F 00 48 FF'
'73 00 25 FF 57 00 00 FF 55 00 00 DC 49 00 00 B9'
'3D 00 00 96 31 00 00 73 25 00 00 50 19 00 D4 FF'
'F0 00 B1 FF E2 00 8E FF D4 00 6B FF C6 00 48 FF'
'B8 00 25 FF AA 00 00 FF AA 00 00 DC 92 00 00 B9'
'7A 00 00 96 62 00 00 73 4A 00 00 50 32 00 D4 FF'
'FF 00 B1 FF FF 00 8E FF FF 00 6B FF FF 00 48 FF'
'FF 00 25 FF FF 00 00 FE FE 00 00 DC DC 00 00 B9'
'B9 00 00 96 96 00 00 73 73 00 00 50 50 00 F2 F2'
'F2 00 E6 E6 E6 00 DA DA DA 00 CE CE CE 00 C2 C2'
'C2 00 B6 B6 B6 00 AA AA AA 00 9E 9E 9E 00 92 92'
'92 00 86 86 86 00 7A 7A 7A 00 6E 6E 6E 00 62 62'
'62 00 56 56 56 00 4A 4A 4A 00 3E 3E 3E 00 32 32'
'32 00 26 26 26 00 1A 1A 1A 00 0E 0E 0E 00 F0 FB'
'FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 00 00 00 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 00 00 6B 6B 6D 6D 00 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 00 00 6B 73 6B 6B 6D 6D 6D 00 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 00 00'
'00 E5 00 6B 6B 73 6B 6B 6D 6D 6D 00 E5 00 00 00'
'00 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 00 0D 0D 11'
'11 00 00 6B 6B 73 6B 6B 6D 6D 6D 00 00 24 24 27'
'27 00 E5 E5 E5 E5 E5 E5 E5 00 00 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6D 6D 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6D 6D 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6D 6D 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6D 6D 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 73 73 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6B 73 73 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 6B 6B 6B 6B 6D 73 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 13'
'13 11 00 6B 6B 6B 6B 6B 6B 6D 6D 73 00 24 24 2B'
'2B 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 0D'
'13 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'2B 2B 00 E5 E5 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'27 2B 00 E5 E5 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'27 27 2B 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B FF FF 6B 6D 6D 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B FF FF 6B 6B 6B 6B 6D 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B FF FF 6D 6D 6D 6D 6D 6D 6B 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D FF FF'
'0D 00 FF 6B 6D 00 00 00 00 6D 00 00 24 24 FF FF'
'24 27 27 00 E5 E5 E5 E5 00 0D 0D 0D FF FF 0D 0D'
'0D 0D 00 6B 00 EF EF F0 EF 00 24 24 FF FF 24 24'
'24 24 27 00 E5 E5 E5 E5 00 0D FF FF 11 11 11 11'
'11 11 0D F4 F0 E8 E8 E8 EF F0 00 FF 27 27 27 27'
'27 27 24 00 E5 E5 E5 E5 00 FF 0D 11 00 00 00 00'
'11 00 00 F3 E8 E3 E3 07 EA F0 00 27 00 00 00 00'
'27 00 00 E5 E5 E5 E5 E5 E5 00 0D 00 EF EF F0 EF'
'00 E5 E5 F4 E3 FF FF E3 E8 EF 00 00 EF EF F0 EF'
'00 E5 E5 E5 E5 E5 E5 E5 E5 E5 F5 F0 F7 F7 F7 EF'
'F0 00 E5 F3 E3 FF FF E3 E8 F0 00 F0 E8 E8 E8 EF'
'F0 00 E5 E5 E5 E5 E5 E5 E5 E5 F3 F7 E4 E4 07 E9'
'F0 00 E5 E5 F3 E3 07 EA F0 F4 F3 E8 E3 E3 07 EA'
'F0 00 E5 E5 E5 E5 E5 E5 E5 E5 F5 E4 FF FF E4 F7'
'EF 00 E5 E5 E5 F4 F4 00 F0 E5 F4 E3 FF FF E3 E8'
'EF 00 E5 E5 E5 E5 E5 E5 E5 E5 F3 E4 FF FF E4 F7'
'F0 00 E5 E5 E5 E5 E5 E5 E5 E5 F3 E3 FF FF E3 E8'
'F0 00 E5 E5 E5 E5 E5 E5 E5 E5 E5 F3 E4 07 E9 F0'
'F5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 F3 E3 07 EA F0'
'F4 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 F5 F5 00 F0'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 F4 F4 00 F0'
'E5 E5 E5 E5 E5 E5'
}
BACKUP BITMAP LOADONCALL MOVEABLE
{
'42 4D 46 07 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 08 00 00 00'
'00 00 10 03 00 00 13 0B 00 00 13 0B 00 00 00 01'
'00 00 00 01 00 00 00 00 00 00 01 01 01 00 ED FA'
'FE 00 EB FA FE 00 E9 FA FE 00 E7 FA FE 00 E5 FA'
'FE 00 E3 FA FE 00 E6 FA FE 00 E4 FA FE 00 E2 FA'
'FE 00 E0 FA FE 00 DE FA FE 00 DC FA FE 00 DA FA'
'FE 00 D8 FA FE 00 D6 FA FE 00 D4 FA FE 00 D1 F9'
'FD 00 CF F9 FD 00 CD F9 FD 00 CB F9 FD 00 C9 F9'
'FD 00 C7 F9 FD 00 C5 F9 FD 00 D2 FA FE 00 D0 FA'
'FE 00 CE FA FE 00 C3 F9 FD 00 C1 F9 FD 00 BF F9'
'FD 00 00 7F FF 00 9B EF F3 00 99 ED F1 00 98 EA'
'EE 00 96 E8 EC 00 95 E6 EA 00 93 E3 E7 00 92 E1'
'E5 00 90 DF E2 00 8F DD E0 00 8E DA DE 00 8C D8'
'DB 00 8B D6 D9 00 8A D4 D7 00 00 A9 FF 00 94 E4'
'E8 00 92 E2 E6 00 91 DF E3 00 8F DD E1 00 8E DB'
'DF 00 8C D8 DC 00 8B D6 DA 00 89 D4 D7 00 88 D2'
'D5 00 87 CF D3 00 85 CD D0 00 84 CB CE 00 83 C9'
'CC 00 00 D4 FF 00 00 54 FF 00 00 2A FF 00 00 00'
'FF 00 8E DC DF 00 8D DA DD 00 8C D7 DB 00 8A D5'
'D8 00 89 D3 D6 00 88 D1 D4 00 86 CE D1 00 85 CC'
'CF 00 82 C7 CA 00 80 C5 C8 00 7F C2 C5 00 7D C0'
'C3 00 00 FF FF 00 87 D0 D3 00 86 CD D0 00 80 C4'
'C7 00 7D BF C2 00 7C BD C0 00 7A BB BE 00 79 B8'
'BB 00 77 B6 B9 00 BD F9 FD 00 81 C7 CA 00 7C BE'
'C1 00 7B BC BF 00 79 B9 BC 00 78 B7 BA 00 76 B4'
'B7 00 75 B2 B5 00 73 B0 B3 00 72 AD B0 00 7A BC'
'BF 00 79 BA BD 00 76 B5 B8 00 75 B3 B6 00 74 B1'
'B4 00 72 AE B1 00 71 AC AF 00 6F AA AC 00 6E A8'
'AA 00 6D A5 A8 00 6B A3 A5 00 74 B2 B4 00 73 B0'
'B2 00 70 AB AD 00 6F A9 AB 00 6E A7 A9 00 6C A4'
'A6 00 6B A2 A4 00 69 A0 A2 00 68 9E A0 00 67 9B'
'9D 00 80 80 80 00 E8 FA FE 00 E1 FA FE 00 DF FA'
'FE 00 DB FA FE 00 D9 FA FE 00 CC F9 FD 00 CA F9'
'FD 00 D7 FA FE 00 D5 FA FE 00 C6 F9 FD 00 C4 F9'
'FD 00 D3 FA FE 00 D1 FA FE 00 FF FF FF 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 73'
'73 73 73 73 73 73 73 73 73 73 73 73 73 73 00 00'
'00 00 00 00 00 00 00 00 00 00 73 73 73 73 73 73'
'73 73 73 73 73 73 73 73 73 73 00 00 00 00 00 00'
'00 00 00 00 00 01 01 01 01 01 01 01 01 01 01 01'
'01 01 01 01 73 73 00 00 00 00 00 00 00 00 00 00'
'00 01 58 53 69 6A 5D 6B 6C 6D 6D 6F 70 71 72 01'
'73 00 00 00 00 00 00 00 00 00 00 00 00 01 01 4A'
'5E 5F 59 60 61 62 62 64 65 66 67 68 01 00 00 00'
'00 00 00 00 00 00 00 00 00 01 54 01 55 48 49 4A'
'56 57 57 59 5A 5B 5C 5D 01 00 00 00 00 00 00 00'
'00 00 00 00 00 01 16 7D 3F 40 41 42 43 44 44 46'
'3A 47 48 49 4A 01 00 00 00 00 00 00 00 00 00 00'
'00 01 13 79 24 2E 2F 30 31 32 32 34 35 36 37 38'
'39 3A 00 00 00 00 00 00 00 00 00 00 00 01 10 7F'
'01 20 21 22 23 24 24 26 27 28 29 2A 2B 2C 00 00'
'00 00 00 00 00 00 00 00 00 01 10 7F 01 01 01 01'
'01 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00'
'00 00 00 00 00 01 0D 78 7C 19 1A 1B 1B 15 16 7E'
'1D 1E 01 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 01 07 0B 77 78 10 11 11 12 13 7A 17 01 1F 01'
'00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 08'
'75 76 0D 0E 01 01 01 01 01 2D 1F 3C 01 00 00 00'
'73 73 73 73 73 73 73 73 73 73 73 01 01 01 01 01'
'00 00 00 4B 3B 2D 1F 3C 3D 3E 00 73 73 73 73 73'
'73 73 73 73 73 73 73 73 73 73 00 00 00 00 00 01'
'01 2D 1F 3C 01 01 01 01 01 01 01 01 01 01 01 01'
'01 01 01 01 73 00 00 00 00 00 00 00 01 2D 1F 3C'
'01 00 01 58 53 5A 69 6A 5D 6C 6D 6E 6F 70 71 72'
'00 00 00 00 00 01 01 00 01 2D 1F 3C 01 00 01 01'
'4A 56 5E 5F 59 61 62 63 64 65 66 67 01 00 00 00'
'01 1F 01 00 01 2D 1F 3C 01 00 01 54 01 3A 55 48'
'49 56 57 58 59 5A 5B 5C 01 00 00 01 2D 1F 01 01'
'01 2D 1F 3C 01 00 01 1C 01 2C 36 4C 4D 3A 47 4E'
'49 4F 50 51 53 01 01 3B 2D 1F 3C 3E 01 2D 1F 3C'
'01 00 01 13 14 01 24 2E 2F 31 32 33 34 35 36 37'
'39 3A 01 3B 2D 1F 3C 3E 01 2D 01 00 00 00 01 10'
'11 19 01 20 21 23 24 25 26 27 28 29 2B 2C 01 01'
'2D 1F 01 01 01 01 00 00 00 00 01 10 11 19 01 01'
'01 01 01 01 01 01 01 01 01 01 01 00 01 1F 01 00'
'00 00 00 00 00 00 01 0D 0E 0F 10 11 19 1B 15 16'
'17 18 1C 1D 01 00 00 00 00 01 01 00 00 00 00 00'
'00 00 01 07 0B 0C 0D 0E 0F 11 12 13 14 15 16 17'
'01 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01'
'08 09 0A 0B 0C 01 01 01 01 01 01 01 01 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 01 02 03 04 05'
'06 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00'
}
BOXIN1 BITMAP LOADONCALL MOVEABLE
{
'42 4D 46 07 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 08 00 00 00'
'00 00 10 03 00 00 13 0B 00 00 13 0B 00 00 00 01'
'00 00 00 01 00 00 00 00 00 00 00 00 FF 00 00 07'
'FF 00 00 03 FF 00 00 0E FF 00 00 15 FF 00 00 0A'
'FF 00 00 1C FF 00 7A B9 00 00 62 96 00 00 00 24'
'FF 00 00 12 FF 00 75 B2 00 00 00 2B FF 00 6B A4'
'00 00 70 AB 00 00 00 32 FF 00 00 19 FF 00 64 99'
'00 00 53 81 00 00 5C 8F 00 00 66 9D 00 00 00 4F'
'FF 00 00 39 FF 00 4A 73 00 00 56 84 00 00 00 A3'
'FF 00 00 90 FF 00 00 7E FF 00 00 6C FF 00 00 5A'
'FF 00 00 48 FF 00 00 A6 FF 00 00 98 FF 00 00 89'
'FF 00 00 7B FF 00 00 6D FF 00 51 7D 00 00 00 B2'
'FF 00 00 A7 FF 00 00 9C FF 00 00 91 FF 00 4E 7A'
'00 00 00 C4 FF 00 00 BD FF 00 00 B6 FF 00 4C 76'
'00 00 00 DD FF 00 00 DA FF 00 00 FF FF 00 92 DC'
'00 00 8F D7 00 00 8E D6 00 00 8E D5 00 00 8C D3'
'00 00 8B D2 00 00 8B D1 00 00 8A D0 00 00 89 CF'
'00 00 89 CE 00 00 88 CD 00 00 87 CC 00 00 86 CB'
'00 00 86 CA 00 00 85 C9 00 00 84 C8 00 00 84 C7'
'00 00 83 C6 00 00 82 C5 00 00 82 C4 00 00 81 C3'
'00 00 80 C2 00 00 80 C1 00 00 85 C8 00 00 7F C0'
'00 00 32 50 00 00 7E BF 00 00 83 C5 00 00 7E BE'
'00 00 7C BC 00 00 7C BB 00 00 7B BA 00 00 7D BD'
'00 00 7F BF 00 00 7B BB 00 00 7A BA 00 00 FF FF'
'FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 56 56 00 08 08 08'
'08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08'
'08 08 08 08 08 00 56 56 00 52 4F 4F 4F 54 54 51'
'4B 32 32 32 32 32 32 32 32 51 51 54 50 4F 4F 4F'
'52 00 56 56 00 48 4A 53 4C 52 52 4F 4B 54 51 55'
'08 08 55 51 32 4F 4F 52 4E 4C 53 4A 48 00 56 56'
'00 4D 45 46 47 4A 4C 4E 4B 4F 50 51 08 08 51 50'
'32 52 4E 4A 48 47 46 45 4D 00 56 56 00 3B 3C 3D'
'3E 40 41 42 43 44 45 46 48 47 46 45 44 43 42 40'
'3F 3E 3D 3C 3B 00 56 56 00 36 37 38 39 3A 00 00'
'00 00 00 00 00 00 00 00 00 00 00 3A 39 39 38 37'
'36 00 56 56 00 33 34 34 34 00 18 18 18 18 18 18'
'18 18 18 18 18 18 18 00 35 34 34 34 33 00 56 56'
'00 32 32 32 32 18 18 18 18 18 18 18 18 18 18 18'
'18 18 18 18 00 32 32 32 32 00 56 56 00 00 00 00'
'00 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18'
'18 00 00 00 00 00 56 56 00 18 18 18 00 18 18 18'
'18 18 18 18 00 18 18 18 18 18 18 18 18 00 18 18'
'18 00 56 56 56 00 2E 18 18 18 18 18 18 18 18 18'
'31 00 18 18 18 18 18 18 00 18 18 2E 00 56 56 56'
'56 56 00 18 18 00 18 18 18 18 00 2B 2D 2C 2B 00'
'18 18 18 00 25 18 18 00 56 56 56 56 56 56 00 18'
'18 00 18 18 18 00 26 27 29 28 27 26 00 18 18 00'
'13 18 18 00 56 56 56 56 56 56 56 00 18 09 00 00'
'00 20 21 22 24 23 22 21 20 00 00 09 19 18 00 56'
'56 56 56 56 56 56 56 00 13 15 00 00 1A 1B 1C 1D'
'1F 1E 1D 1C 1B 1A 00 15 14 13 00 56 56 56 56 56'
'56 56 56 56 00 0E 00 00 00 00 00 16 0A 17 16 00'
'00 00 00 0E 12 00 56 56 56 56 56 56 56 56 56 56'
'00 0F 00 09 09 09 00 10 01 11 10 00 09 09 09 0F'
'0E 00 56 56 56 56 56 56 56 56 56 56 56 0C 00 09'
'09 09 00 10 01 11 10 00 09 09 09 0C 00 56 56 56'
'56 56 56 56 56 56 56 56 56 00 00 00 00 00 00 0A'
'01 0B 0A 00 00 00 00 00 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 00 07 01 04 07 00'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 00 05 01 06 05 00 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 00 04 01 02 04 00 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 02'
'01 03 02 00 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 00 01 01 01 01 00'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 00 00 00 00 00 00 56 56 56 56'
'56 56 56 56 56 56'
}
BOXOUT BITMAP LOADONCALL MOVEABLE
{
'42 4D 46 07 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 08 00 00 00'
'00 00 10 03 00 00 13 0B 00 00 13 0B 00 00 00 01'
'00 00 00 01 00 00 00 00 00 00 00 00 FF 00 00 07'
'FF 00 00 03 FF 00 00 0E FF 00 00 15 FF 00 00 0A'
'FF 00 00 1C FF 00 7A B9 00 00 62 96 00 00 00 24'
'FF 00 00 12 FF 00 75 B2 00 00 00 2B FF 00 6B A4'
'00 00 70 AB 00 00 00 32 FF 00 00 19 FF 00 64 99'
'00 00 53 81 00 00 5C 8F 00 00 66 9D 00 00 00 4F'
'FF 00 00 39 FF 00 4A 73 00 00 56 84 00 00 00 A3'
'FF 00 00 90 FF 00 00 7E FF 00 00 6C FF 00 00 5A'
'FF 00 00 48 FF 00 00 A6 FF 00 00 98 FF 00 00 89'
'FF 00 00 7B FF 00 00 6D FF 00 51 7D 00 00 00 B2'
'FF 00 00 A7 FF 00 00 9C FF 00 00 91 FF 00 4E 7A'
'00 00 00 C4 FF 00 00 BD FF 00 00 B6 FF 00 4C 76'
'00 00 00 DD FF 00 00 DA FF 00 00 FF FF 00 92 DC'
'00 00 8F D7 00 00 8E D6 00 00 8E D5 00 00 8C D3'
'00 00 8B D2 00 00 8B D1 00 00 8A D0 00 00 89 CF'
'00 00 89 CE 00 00 88 CD 00 00 87 CC 00 00 86 CB'
'00 00 86 CA 00 00 85 C9 00 00 84 C8 00 00 84 C7'
'00 00 83 C6 00 00 82 C5 00 00 82 C4 00 00 81 C3'
'00 00 80 C2 00 00 80 C1 00 00 85 C8 00 00 7F C0'
'00 00 32 50 00 00 7E BF 00 00 83 C5 00 00 7E BE'
'00 00 7C BC 00 00 7C BB 00 00 7B BA 00 00 7D BD'
'00 00 7F BF 00 00 7B BB 00 00 7A BA 00 00 FF FF'
'FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 56 56 00 08 08 08'
'08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08'
'08 08 08 08 08 00 56 56 00 52 4F 4F 4F 54 54 51'
'4B 32 32 32 32 32 32 32 32 51 51 54 50 4F 4F 4F'
'52 00 56 56 00 48 4A 53 4C 52 52 4F 4B 54 51 55'
'08 08 55 51 32 4F 4F 52 4E 4C 53 4A 48 00 56 56'
'00 4D 45 46 47 4A 4C 4E 4B 4F 50 51 08 08 51 50'
'32 52 4E 4A 48 47 46 45 4D 00 56 56 00 3B 3C 3D'
'3E 40 41 42 43 44 45 46 48 47 46 45 44 43 42 40'
'3F 3E 3D 3C 3B 00 56 56 00 36 37 38 39 3A 00 00'
'00 00 00 00 00 00 00 00 00 00 00 3A 39 39 38 37'
'36 00 56 56 00 33 34 34 34 00 18 18 18 18 18 18'
'18 18 18 18 18 18 18 00 35 34 34 34 33 00 56 56'
'00 32 32 32 32 18 18 18 18 18 18 18 18 18 18 18'
'18 18 18 18 00 32 32 32 32 00 56 56 00 00 00 00'
'00 18 18 18 18 18 00 00 00 00 00 00 18 18 18 18'
'18 00 00 00 00 00 56 56 00 18 18 18 00 18 18 18'
'18 18 00 01 01 01 01 00 18 18 18 18 18 00 18 18'
'18 00 56 56 56 00 2E 18 18 18 18 18 18 18 00 02'
'01 03 02 00 18 18 18 18 00 18 18 2E 00 56 56 56'
'56 56 00 18 18 00 18 18 18 18 00 05 01 06 05 00'
'18 18 18 00 25 18 18 00 56 56 56 56 56 56 00 18'
'18 00 18 18 18 18 00 07 01 04 07 00 18 18 18 00'
'13 18 18 00 56 56 56 56 56 56 56 00 18 09 00 00'
'00 00 00 0A 01 0B 0A 00 00 00 00 09 19 18 00 56'
'56 56 56 56 56 56 56 00 13 15 00 09 09 09 00 0D'
'01 05 0D 00 09 09 09 15 14 13 00 56 56 56 56 56'
'56 56 56 56 00 0E 00 09 09 09 00 10 01 11 10 00'
'09 09 09 0E 12 00 56 56 56 56 56 56 56 56 56 56'
'00 0F 00 09 09 09 00 10 01 11 10 00 09 09 09 0F'
'0E 00 56 56 56 56 56 56 56 56 56 56 56 0C 00 00'
'00 00 00 16 0A 17 16 00 00 00 00 0C 00 56 56 56'
'56 56 56 56 56 56 56 56 56 00 00 00 00 20 21 22'
'24 23 22 21 20 00 00 00 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 00 26 27 29 28 27 26'
'00 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 00 2B 2D 2C 2B 00 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 00 30 2F 00 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'31 00 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 00 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56'
}
BROW1 BITMAP LOADONCALL MOVEABLE
{
'42 4D 36 02 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 04 00 00 00'
'00 00 C0 01 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 88 88 88 88 88 88 88 88'
'88 88 88 77 00 00 77 70 00 00 00 00 00 00 00 00'
'00 00 00 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 30 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 30 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 30 77 00 00 77 70 FF FF FF FF FF FF FF FF'
'FF FF F0 77 00 00 77 70 00 00 00 00 00 00 00 00'
'00 00 00 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00'
}
BROW2 BITMAP LOADONCALL MOVEABLE
{
'42 4D 36 02 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 04 00 00 00'
'00 00 C0 01 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 70 00 00 00 00 00 00 00 00'
'00 00 00 77 00 00 77 70 88 88 88 88 88 88 88 88'
'88 88 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 80 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 80 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 80 77 00 00 77 70 FF FF FF FF FF FF FF FF'
'FF FF 80 77 00 00 77 70 00 00 00 00 00 00 00 00'
'00 00 00 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00'
}
BUG BITMAP LOADONCALL MOVEABLE
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 C4 0E 00 00 C4 0E 00 00 10 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 70 77 77 77 77 07 77 77 0B'
'07 70 07 70 B0 77 77 0B 07 03 B0 70 B0 77 77 70'
'B0 FB B3 0B 07 77 77 70 00 FB BB 00 07 77 77 0B'
'B0 FB B3 0B B0 77 77 70 00 0B B0 00 07 77 77 77'
'00 FB BB 00 77 77 77 70 B0 0F 30 0B 07 77 77 0B'
'07 70 07 70 B0 77 77 00 77 07 70 77 00 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
CHECK1 BITMAP LOADONCALL MOVEABLE
{
'42 4D E6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 0E 00 00 00 0E 00 00 00 01 00 04 00 00 00'
'00 00 70 00 00 00 00 00 00 00 00 00 00 00 10 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 FF FF FF FF FF FF 00 78 07'
'77 77 77 77 7F 00 78 08 88 88 88 88 7F 00 78 08'
'99 88 89 98 7F 00 78 08 99 98 99 98 7F 00 78 08'
'89 99 99 88 7F 00 78 08 88 99 98 88 7F 00 78 08'
'89 99 99 88 7F 00 78 08 99 98 99 98 7F 00 78 08'
'99 88 89 98 7F 00 78 08 88 88 88 88 7F 00 78 00'
'00 00 00 00 7F 00 78 88 88 88 88 88 87 00 77 77'
'77 77 77 77 77 00'
}
CHECK3 BITMAP LOADONCALL MOVEABLE
{
'42 4D E6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 0E 00 00 00 0E 00 00 00 01 00 04 00 00 00'
'00 00 70 00 00 00 00 00 00 00 00 00 00 00 10 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 FF FF FF FF FF FF 00 78 07'
'77 77 77 77 7F 00 78 08 88 88 88 88 7F 00 78 08'
'AA 88 8A A8 7F 00 78 08 AA A8 AA A8 7F 00 78 08'
'8A AA AA 88 7F 00 78 08 88 AA A8 88 7F 00 78 08'
'8A AA AA 88 7F 00 78 08 AA A8 AA A8 7F 00 78 08'
'AA 88 8A A8 7F 00 78 08 88 88 88 88 7F 00 78 00'
'00 00 00 00 7F 00 78 88 88 88 88 88 87 00 77 77'
'77 77 77 77 77 00'
}
DEL1 BITMAP LOADONCALL MOVEABLE
{
'42 4D 96 01 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 18 00 00 00 18 00 00 00 01 00 04 00 00 00'
'00 00 20 01 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 88 88 88 88 88 88 88 77 77 77 79 91 88 88 88'
'88 88 19 98 77 77 77 79 99 14 44 44 44 41 99 98'
'77 77 77 77 99 91 BF BF BF 19 99 88 77 77 77 77'
'79 99 1B FB F1 99 94 88 77 77 77 77 74 99 91 BF'
'19 99 B4 88 77 77 77 77 74 F9 99 11 99 9B F4 88'
'77 77 77 77 74 BF 99 99 99 BF B4 88 77 77 77 77'
'74 FB F9 99 9B FB F4 88 77 77 77 77 74 BF 19 99'
'91 BF B4 88 77 77 77 77 74 F1 99 99 99 1B F4 88'
'77 77 77 77 74 19 99 BF 99 91 B4 88 77 77 77 77'
'71 99 9B FB F9 99 14 88 77 77 77 77 19 99 BF BF'
'B4 99 91 77 77 77 77 71 99 9B FB FB F4 F9 99 17'
'77 77 77 79 99 BF BF BF B4 B4 99 97 77 77 77 79'
'94 FB FB FB F4 47 79 97 77 77 77 77 74 44 44 44'
'44 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
DOWN BITMAP LOADONCALL MOVEABLE
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 C4 0E 00 00 C4 0E 00 00 00 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 70 77 77 77 77 77 77 77 09 07 77 77 77 77 77'
'70 99 90 77 77 77 77 77 09 99 99 07 77 77 77 70'
'99 99 99 90 77 77 77 00 00 99 90 00 07 77 77 77'
'70 99 90 77 77 77 77 77 70 99 90 77 77 77 77 77'
'70 99 90 77 77 77 77 77 70 00 00 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
EDIT1 BITMAP LOADONCALL MOVEABLE
{
'42 4D 16 02 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 1A 00 00 00 1A 00 00 00 01 00 04 00 00 00'
'00 00 A0 01 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 BF 00 00 BF'
'00 00 00 BF BF 00 BF 00 00 00 BF 00 BF 00 BF BF'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 88 88 88 88 88 88 77 77'
'77 77 77 00 00 00 77 77 88 88 88 88 88 88 88 77'
'77 77 77 00 00 00 77 74 44 44 44 44 44 44 88 77'
'77 77 77 00 00 00 77 74 BF BF BF BF BF B4 88 77'
'77 77 77 00 00 00 77 74 FB FB F0 00 00 F4 88 77'
'77 77 77 00 00 00 77 74 BF BF B0 03 33 04 88 77'
'77 77 77 00 00 00 77 74 FB FB F0 33 B3 30 88 77'
'77 77 77 00 00 00 77 74 BF BF B0 3B BB 33 08 87'
'77 77 77 00 00 00 77 74 FB FB F0 FF BB B3 30 88'
'77 77 77 00 00 00 77 74 BF BF BF 0F FB BB 33 08'
'87 77 77 00 00 00 77 74 FB FB FB F0 FF BB B3 30'
'88 77 77 00 00 00 77 74 BF BF BF BF 0F FB BB 33'
'08 87 77 00 00 00 77 74 FB FB FB FB F0 FF BB B3'
'30 88 77 00 00 00 77 74 BF BF BF B4 44 0F FB BB'
'00 08 77 00 00 00 77 74 FB FB FB F4 FB 40 FF B0'
'33 07 77 00 00 00 77 74 BF BF BF B4 B4 77 0F 03'
'03 07 77 00 00 00 77 74 FB FB FB F4 47 77 70 03'
'30 77 77 00 00 00 77 74 44 44 44 44 77 77 77 00'
'07 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00'
}
EMPL BITMAP LOADONCALL MOVEABLE
{
'42 4D 36 08 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 20 00 00 00 20 00 00 00 01 00 08 00 00 00'
'00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 01'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 D4 F0'
'FF 00 B1 E2 FF 00 8E D4 FF 00 6B C6 FF 00 48 B8'
'FF 00 25 AA FF 00 00 AA FF 00 00 92 DC 00 00 7A'
'B9 00 00 62 96 00 00 4A 73 00 00 32 50 00 D4 E3'
'FF 00 B1 C7 FF 00 8E AB FF 00 6B 8F FF 00 48 73'
'FF 00 25 57 FF 00 00 55 FF 00 00 49 DC 00 00 3D'
'B9 00 00 31 96 00 00 25 73 00 00 19 50 00 D4 D4'
'FF 00 B1 B1 FF 00 8E 8E FF 00 6B 6B FF 00 48 48'
'FF 00 25 25 FF 00 00 00 FE 00 00 00 DC 00 00 00'
'B9 00 00 00 96 00 00 00 73 00 00 00 50 00 E3 D4'
'FF 00 C7 B1 FF 00 AB 8E FF 00 8F 6B FF 00 73 48'
'FF 00 57 25 FF 00 55 00 FF 00 49 00 DC 00 3D 00'
'B9 00 31 00 96 00 25 00 73 00 19 00 50 00 F0 D4'
'FF 00 E2 B1 FF 00 D4 8E FF 00 C6 6B FF 00 B8 48'
'FF 00 AA 25 FF 00 AA 00 FF 00 92 00 DC 00 7A 00'
'B9 00 62 00 96 00 4A 00 73 00 32 00 50 00 FF D4'
'FF 00 FF B1 FF 00 FF 8E FF 00 FF 6B FF 00 FF 48'
'FF 00 FF 25 FF 00 FE 00 FE 00 DC 00 DC 00 B9 00'
'B9 00 96 00 96 00 73 00 73 00 50 00 50 00 FF D4'
'F0 00 FF B1 E2 00 FF 8E D4 00 FF 6B C6 00 FF 48'
'B8 00 FF 25 AA 00 FF 00 AA 00 DC 00 92 00 B9 00'
'7A 00 96 00 62 00 73 00 4A 00 50 00 32 00 FF D4'
'E3 00 FF B1 C7 00 FF 8E AB 00 FF 6B 8F 00 FF 48'
'73 00 FF 25 57 00 FF 00 55 00 DC 00 49 00 B9 00'
'3D 00 96 00 31 00 73 00 25 00 50 00 19 00 FF D4'
'D4 00 FF B1 B1 00 FF 8E 8E 00 FF 6B 6B 00 FF 48'
'48 00 FF 25 25 00 FE 00 00 00 DC 00 00 00 B9 00'
'00 00 96 00 00 00 73 00 00 00 50 00 00 00 FF E3'
'D4 00 FF C7 B1 00 FF AB 8E 00 FF 8F 6B 00 FF 73'
'48 00 FF 57 25 00 FF 55 00 00 DC 49 00 00 B9 3D'
'00 00 96 31 00 00 73 25 00 00 50 19 00 00 FF F0'
'D4 00 FF E2 B1 00 FF D4 8E 00 FF C6 6B 00 FF B8'
'48 00 FF AA 25 00 FF AA 00 00 DC 92 00 00 B9 7A'
'00 00 96 62 00 00 73 4A 00 00 50 32 00 00 FF FF'
'D4 00 FF FF B1 00 FF FF 8E 00 FF FF 6B 00 FF FF'
'48 00 FF FF 25 00 FE FE 00 00 DC DC 00 00 B9 B9'
'00 00 96 96 00 00 73 73 00 00 50 50 00 00 F0 FF'
'D4 00 E2 FF B1 00 D4 FF 8E 00 C6 FF 6B 00 B8 FF'
'48 00 AA FF 25 00 AA FF 00 00 92 DC 00 00 7A B9'
'00 00 62 96 00 00 4A 73 00 00 32 50 00 00 E3 FF'
'D4 00 C7 FF B1 00 AB FF 8E 00 8F FF 6B 00 73 FF'
'48 00 57 FF 25 00 55 FF 00 00 49 DC 00 00 3D B9'
'00 00 31 96 00 00 25 73 00 00 19 50 00 00 D4 FF'
'D4 00 B1 FF B1 00 8E FF 8E 00 6B FF 6B 00 48 FF'
'48 00 25 FF 25 00 00 FE 00 00 00 DC 00 00 00 B9'
'00 00 00 96 00 00 00 73 00 00 00 50 00 00 D4 FF'
'E3 00 B1 FF C7 00 8E FF AB 00 6B FF 8F 00 48 FF'
'73 00 25 FF 57 00 00 FF 55 00 00 DC 49 00 00 B9'
'3D 00 00 96 31 00 00 73 25 00 00 50 19 00 D4 FF'
'F0 00 B1 FF E2 00 8E FF D4 00 6B FF C6 00 48 FF'
'B8 00 25 FF AA 00 00 FF AA 00 00 DC 92 00 00 B9'
'7A 00 00 96 62 00 00 73 4A 00 00 50 32 00 D4 FF'
'FF 00 B1 FF FF 00 8E FF FF 00 6B FF FF 00 48 FF'
'FF 00 25 FF FF 00 00 FE FE 00 00 DC DC 00 00 B9'
'B9 00 00 96 96 00 00 73 73 00 00 50 50 00 F2 F2'
'F2 00 E6 E6 E6 00 DA DA DA 00 CE CE CE 00 C2 C2'
'C2 00 B6 B6 B6 00 AA AA AA 00 9E 9E 9E 00 92 92'
'92 00 86 86 86 00 7A 7A 7A 00 6E 6E 6E 00 62 62'
'62 00 56 56 56 00 4A 4A 4A 00 3E 3E 3E 00 32 32'
'32 00 26 26 26 00 1A 1A 1A 00 0E 0E 0E 00 F0 FB'
'FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 00 00 00 00 07 07 07 07 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 00 00 6B 6B 6D 6D 00 07 07 07 07 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'00 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 07 07'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 07 07'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 07 07'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 07 07'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 73 73 6D 00 07 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6B 73 73 00 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 6B 6B 6B 6B 6D 73 00 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 6B 6B 6B 6B 6D 6D 73 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B FF FF 6B 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B FF FF 6B 6B 6B 6B 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'FF FF 6D 6D 6D 6D 6D 6D 6B 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 FF'
'6B 6D 00 00 00 00 6D 00 00 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 00 EF EF F0 EF 00 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'F4 F0 E8 E8 E8 EF F0 00 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'F3 E8 E3 E3 07 EA F0 00 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'F4 E3 FF FF E3 E8 EF 00 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'F3 E3 FF FF E3 E8 F0 00 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 F3 E3 07 EA F0 F4 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 F4 F4 00 F0 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5'
}
EXIT BITMAP LOADONCALL MOVEABLE
{
'42 4D 72 01 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 17 00 00 00 15 00 00 00 01 00 04 00 00 00'
'00 00 FC 00 00 00 00 00 00 00 00 00 00 00 10 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 80 80 80 00 C0 C0 C0 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 88 88 88 88 88 88 88 88 88 88'
'88 80 88 88 88 88 88 88 88 88 88 88 88 80 88 88'
'88 88 88 88 88 88 88 88 88 80 88 88 88 88 88 88'
'88 88 88 88 88 80 88 88 88 88 88 88 88 88 88 88'
'88 80 88 88 88 88 88 88 88 80 F8 88 88 80 88 88'
'80 F8 88 88 88 88 88 88 88 80 88 88 00 0F 88 88'
'88 0F 88 88 88 80 88 88 00 0F 88 88 80 F8 88 88'
'88 80 88 88 80 00 F8 88 00 F8 88 88 88 80 88 88'
'88 00 0F 80 0F 88 88 88 88 80 88 88 88 80 00 00'
'F8 88 88 88 88 80 88 88 88 88 00 0F 88 88 88 88'
'88 80 88 88 88 80 00 00 F8 88 88 88 88 80 88 88'
'88 00 0F 80 F8 88 88 88 88 80 88 88 00 00 F8 88'
'00 F8 88 88 88 80 88 80 00 0F 88 88 80 0F 88 88'
'88 80 88 80 0F 88 88 88 88 00 F8 88 88 80 88 88'
'88 88 88 88 88 88 88 88 88 80 88 88 88 88 88 88'
'88 88 88 88 88 80 88 88 88 88 88 88 88 88 88 88'
'88 80'
}
FALSE BITMAP LOADONCALL MOVEABLE
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 1
sorry, my mistake , author is Author Yanni Yannas - Rhodes Greece.
Server :
/ Server .
// Server receives IP pcakets from the clients.
// Each packet starts with chr(1) and ends with chr(3). So we know if the packet
// is complete. Delimiter is '|' .
// chr(1)|IPNum|Username|Message|Command|chr(3)
// IPNum = sender's IP number
// Username = sender's UserName
// Message = Message
// Command = Command to execute
// Every Packet when received on the server, is sent to all users.
// Server , uses an array to store info about it's clients.
#include "Fivewin.ch"
#include "Splitter.ch"
#xcommand DEFINE GSERV <cVar> ;
=> <cVar> = GSERV():New()
#DEFINE iDSERVERPORT 790 // Server : Port No. to listen
//------------------------------------------------------------------------//
// Server section .
//------------------------------------------------------------------------//
Function Server(oBtn)
//
MemVar oApp, oChatserver, ochatclient
Define GSERV oChatServer // define Server object
oBtn:Disable()
return .t.
Static Function OnReadServer( oSocket )
// actions to perform when reading data from the socket oSocket
local xPacket
local xDelim, i
Local xIPNum, xUserName, xMsg, xCommand
Local nPos, nArrLen, nTime
xPacket := oSocket:GetData() // chr(1)|IPNum|Username|Message|Command|chr(3)
xDelim := "|"
i := 0
nTime := 0
if StrToken(xPacket, 1, xDelim ) = chr(1) .and. Substr(xpacket,2,1) = "|"
// ok to proceed
else
return .f.
endif
// LogFile( "server.txt", { xPacket } )
xCommand := StrToken(xPacket, 5, xDelim )
xMsg := StrToken(xPacket, 4, xDelim )
xUserName := StrToken(xPacket, 3, xDelim )
xIPNum := StrToken(xPacket, 2, xDelim )
Do Case
Case xCommand = "UPD" // send updated array of users
aArray := oChatServer:aServerUsers
nPos := aScan(aArray, {|aVal| aVal[1] == xUserName} ) // scan array
For i :=1 to Len(aArray)
if aArray[i,1] = xUsername
loop
Endif
aArray[nPos,3]:SendData(chr(1)+ "|" +;
aArray[i,2] + "|" +; // IPnum
aArray[i,1] + "|" +; // username
"NIL" + "|" +; // message
"UPD" + "|" + chr(3) )
syswait(.1)
Next
Case xCommand = "ADD" // new user
nTime := Seconds()
aAdd(oChatServer:aServerUsers, {xUserName, xIPNum, oSocket, nTime} )
oChatServer:WRData(xUsername+", connected")
For i :=1 to Len(oChatServer:aServerUsers)
oChatServer:aServerUsers[i,3]:SendData(xPacket) // send packet to everyone
syswait(.2)
next i
Case xCommand = "DEL" // Delete user
nPos := aScan(oChatServer:aServerUsers, {|aVal| aVal[1] == xUserName} ) // scan array
nArrLen := Len(oChatServer:aServerUsers) // get users array len
aDel(oChatServer:aServerUsers, nPos) // delete array element
aSize(oChatServer:aServerUsers, (nArrlen -1) ) // shrink
oApp:oLbx:refresh() // refresh listbox
OnCloseClient(oSocket)
oApp:WRData(xUsername+", disconnected") // write to the memo
For i :=1 to Len(oChatServer:aServerUsers)
oChatServer:aServerUsers[i,3]:SendData(xPacket) // send packet to everyone
syswait(.2)
next i
case xCommand = "CCC" // client connection check (if a client is still connected)
// incoming from client
nPos := aScan(oChatServer:aServerUsers, {|aVal| aVal[1] == xUserName} ) // scan array
nTime := Seconds()
oChatServer:aServerUsers[nPos, 4] := nTime // check done. save the time.
case xCommand = "CUN" // change user name
// user has changed his name
case xCommand = "MSG" // incoming chat packet
// dispatch MSG
For i :=1 to Len(oChatServer:aServerUsers)
oChatServer:aServerUsers[i,3]:SendData(xPacket)
next i
case xCommand = "POP" // incoming Popup msg
// private messaging
// ???????? !!!
Endcase
return nil
Static Function OnCloseClient( oSocket )
// oChatServ:WrData("Client disconnected" )
oSocket:End()
return nil
Function ChkClients()
// see if the clients are still connected to server
Local nPos, nTime, i, nArrLen, nPos1, nArrLen1
Local oClient, cUser2del
Memvar oChatServer
nPos := 0
nTime := 0
i := 0
nPos1 := 0
nArrLen:= Len(oChatServer:aServerUsers)
nArrLen1:=0
For i := 1 to nArrLen
nTime := oChatServer:aServerUsers[i,4]
// MsgInfo(Str( Seconds() - nTime) + "|" + oChatServer:aServerUsers[i,1] )
if (Seconds() - nTime) > 42 // server lost connection with the client (apparently)
oChatServer:oTimer:Deactivate()
oApp:WRData(oChatServer:aServerUsers[i,1]+", lost connection") // write to the memo
cUser2del := oChatServer:aServerUsers[i, 1]
OnCloseClient(oChatServer:aServerUsers[i, 3]) // close socket
aDel(oChatServer:aServerUsers, i) // delete array element
aSize(oChatServer:aServerUsers, (nArrlen -1) ) // shrink
nArrLen:= Len(oChatServer:aServerUsers)
For ii := 1 to nArrLen // inform others , so they delete the user
oClient := oChatServer:aServerUsers[ii, 3]
SendMsg(oClient, cUser2del, "DEL", "NIL") // delete user cuser2Del
Next ii
oChatServer:oTimer:Activate()
endif
next i
return .t.
//------------------------------------------------------------------------//
// Server section . END
//------------------------------------------------------------------------//
Client:
// Client.
// The chat client.
// User writes his message, which upon hitting Enter key,
// is sent to the chat server, as a packet.
// Syntax of the packet
// chr(1)|IP Num|Username|Message|Command|chr(3)
#include "Fivewin.ch"
#include "Splitter.ch"
#xcommand DEFINE GCLIENT <cVar> ; // Object
=> <cVar> = GCLIENT():New()
#DEFINE iDSERVERPORT 790 // Server listens at this port
#DEFINE CLR_GETS RGB(255,255,220)
//------------------------------------------------------------------------//
// Client section
//------------------------------------------------------------------------//
Function Client(oBtn, obtn1) // start client
Local oDlg, oGet1, oGet2, cVar1, cVar2
Local lNoShow := .t.
MemVar oApp, oChatserver, ochatclient
cVar1:= space(15) // ip
cVar2:=Space(12) // user name
oBtn:Disable() // sorry for this, i have to figure out another way....
oBtn1:Disable()
Define GCLIENT oChatClient // define Client object
DEFINE DIALOG oDlg RESOURCE "CONN" of oApp:oMainWnd
REDEFINE GET oGet1 Var cVar1 ID 201 of oDlg COLOR CLR_BLACK, CLR_GETS
REDEFINE GET oGet2 Var cVar2 ID 202 of oDlg COLOR CLR_BLACK, CLR_GETS
oGet1:bValid := {|| !Empty(cvar1) }
oGet1:bLostFocus:= {|| oGet1:Assign(), ;
(oChatClient:cServerIP := Alltrim(oGet1:varGet())) }
oGet2:bValid := {|| !Empty(cvar2) }
oGet2:bLostFocus:= {|| oGet2:Assign(), ;
(oChatClient:cUserName := Alltrim(oGet2:VarGet())) }
REDEFINE BUTTON oBtn1 ID 106 Action ( oChatClient:Conn2Server(lNoShow), oDlg:End() )
REDEFINE BUTTON oBtn2 ID 107 Action oDlg:End()
Activate Dialog oDlg
return .t.
Static Function OnConnect(oClient)
// connected, ask from server to add on the list and send back user names.
Memvar oChatClient
Sendmsg(oClient,oChatClient:cUserName,"ADD","NIL")
oChatClient:WRData("Connected")
syswait(.2)
// request Update from server
SendMsg(oClient, oChatClient:cUserName, "UPD", "NIL")
syswait(.2)
Return .t.
Function OnCloseClient(oClient)
SendMsg(oClient, oChatClient:cUserName, "DEL", "NIL")
syswait(.2)
// ::WRDATA("Disconnected")
return .t.
Function ChkTimer()
// connection check
SendMsg(oChatClient:oClientSock, oChatClient:cUsername, "CCC", "NIL")
return .t.
Function SendMsg(oClient, xUsername, xCommand, xMsg)
// send the packet.
Local xPacket, xIPNum
Default xMsg := "NIL"
xUsername := Alltrim(xUserName)
xIpNum := oClient:cIPAddr
xPacket :=chr(1) + "|" + ;
xIpNum + "|" + ;
xUserName + "|" + ;
xMsg + "|" + ;
xCommand + "|" + ;
Chr(3)
oClient:SendData(xPacket)
return .t.
Static Function ClientRead(osocket)
local xPacket
local xDelim, i
Local xIPNum, xUserName, xMsg, xCommand
Local nPos, nArrLen
Memvar oApp , oChatClient
xPacket:= oSocket:getData()
syswait(.1)
xDelim := "|"
i := 0
nPos := 0
nArrLen:= 0
// chr(1)|IPNum|Username|Message|Command|chr(3)
if StrToken(xPacket, 1, xDelim ) = chr(1) .and. Substr(xpacket,2,1) = "|"
// ok to proceed
else
return .f.
endif
xCommand := StrToken(xPacket, 5, xDelim )
xMsg := StrToken(xPacket, 4, xDelim )
xUserName := StrToken(xPacket, 3, xDelim )
xIPNum := StrToken(xPacket, 2, xDelim )
Do Case
Case xCommand = "UPD" // incoming update (users)
nPos := aScan(oApp:aUsers, {|aVal| aVal[1] == xUserName} ) // scan array
if nPos = 0
aAdd(oApp:aUsers, {xUserName, xIPNum} )
oApp:oLbx:refresh()
Endif
Case xCommand = "ADD" // incoming new user.
aAdd(oApp:aUsers, {xUserName, xIPNum} )
oApp:oLbx:refresh()
Case xCommand = "DEL" // incoming Delete user
nPos := aScan(oApp:aUsers, {|aVal| aVal[1] == xUserName} ) // scan array
nArrLen:= Len(oApp:aUsers) // get users array len
aDel(oApp:aUsers, nPos) // delete array element
aSize(oApp:aUsers, (nArrlen -1) ) // shrink
oApp:oLbx:refresh() // refresh listbox
oApp:WRData(xUsername+", disconnected") // write to the memo
Case xCommand = "MSG" // incoming Message
oChatClient:WRData(xUserName+" > "+ xMsg)
EndCase
// oApp:WRData(xPacket)
return .t.
****************************************************************
//CLASS Definition
****************************************************************
CLASS GCLIENT
DATA oClientSock
DATA oTimer AS OBJECT
DATA cUserName AS CHARACTER
DATA cServerIP AS CHARACTER
DATA nPackets AS NUMERIC
DATA nServerPort AS NUMERIC
DATA lConnected AS LOGICAL
DATA aUsers AS ARRAY INIT {}
METHOD New() CONSTRUCTOR
METHOD WRData(ctext) INLINE oApp:WrData(ctext)
METHOD CONN2SERVER()
METHOD END()
ENDCLASS
METHOD NEW() CLASS GCLIENT
::nPackets := 0
::cServerIP := ""
::nServerPort:= 0
::cUserName := ""
::lConnected := .f.
return self
METHOD CONN2SERVER() CLASS GCLIENT
Local c1, c2,c3,c4
MemVar oApp
::cServerIP := Alltrim(::cServerIP) // get rid of blanks
::oClientSock := TSocket():New(iDSERVERPORT)
::oClientSock:bRead := { |oClient| ClientRead(oClient)}
::oClientSock:bConnect := { |oClient| OnConnect(oClient) }
// ::oClientSock:bClose := { |oClient| OnCloseClient(oClient) }
::oClientSock:Connect( ::cServerIP ) // use the server IP address here
::lConnected := .t.
oApp:lClientConnected := .t.
oApp:oMainWnd:SetText(::cuserName)
::oTimer := Ttimer():New(30000, {|| ChkTimer() }, oApp:oMainWnd )
::oTimer:Activate()
return self
METHOD END CLASS GCLIENT
// close
::oTimer:Deactivate()
syswait(.2) // just wait .2 sec
::oClientSock:End()
syswait(.2) // just wait .2 sec
::WRData("disconnected from chat")
::oTimer:End()
syswait(.3) // just wait .3 sec
return self
****************************************************************
//END OF CLASS Definition
****************************************************************
Chat:
// Chat for FW, FWH. version beta 1 May 2, 2001
// Author Yanni Yannas - Rhodes Greece. Email : plous-rh@otenet.gr
// Description :
// A chat program over TCP/IP written in Fivewin.
// The original program was written in FWH and Harbour. But i still have problems
// with the displaying of the memo. Until solved, i 'dropped back' to Fivewin.
// I wrote this, as a excercise, trying to understand sockets.
// Contains a server section and a client section. Any station can act as server
// for the chat session.
// Tested over the internal company network with 4 users.
// I apologise for the confusing coding in some places, i hope to correct that when
// i will have more knowledge on sockets...
// Please, feel free to correct, add code, and use as you wish.
// Many thanks to everyone of you my friends for your continuous support and help.
//
// To my friend Vangelis, a special 'thank you !', for his very original help on sockets :
// "Immagine water pipes. If you connect the right edges, then , water goes
// where you want to send it !"
#include "Fivewin.ch"
#include "Splitter.ch"
#xcommand DEFINE LETR <cVar> ; // Object definition at the end of file
=> <cVar> = LETR():New()
#DEFINE CLR_BROW RGB(235,202,171)
#DEFINE CLR_BFOOT RGB(26,120,160)
#DEFINE CLR_FFOOT CLR_YELLOW
#DEFINE CLR_GETS RGB(255,255,220)
#DEFINE CLR_RONLY RGB(0,232,225)
Function Main()
Local oVSplit, oHSplit
Local oBar, oMsgBar, oServerBtn, oClientBtn, oFontBtn
Public oApp, oChatServer, oChatClient
Set date British
Set epoch to 1960
Set Century on
Set confirm on
Define LETR oApp // define Object . Contains global variables
Define Font oApp:oFont Name "MS Sans Serif" SIZE 11, -10
Define Window oApp:oMainWnd From 20,20 to 340,500 PIXEL Title "Chat for FW"
oApp:oMainWnd:SetFont(oApp:oFont)
Define MsgBar oMsgBar of oApp:oMainWnd
DEFINE BUTTONBAR oBar Size 32,32 OF oApp:oMainWnd 3d
DEFINE BUTTON Resource "Exit" OF oBar ;
Tooltip " Exit" ;
ACTION oApp:oMainWnd:End()
DEFINE BUTTON oServerBtn Resource "xrun" OF oBar ;
ToolTip "Start Server";
Action ( Server(oServerBtn), client(oClientBtn, oServerBtn) )
DEFINE BUTTON oClientBtn resource "Green" OF oBar ;
ToolTip "Start client";
Action ( Client(oClientBtn, oServerBtn) )
@ 206,1 get oApp:oGet var oApp:cgetVar Size 400,21 Pixel ;
Font oApp:oFont ;
COLOR CLR_BLACK, CLR_GETS ;
Of oApp:oMainWnd;
ON CHANGE (::Assign, Prep2Send(nKey) )
oApp:oMainWnd:oBottom := oApp:oget
@ 0,1 Get oApp:oMemo Var oApp:cMemoVar MULTI SIZE 340,200 PIXEL ;
Font oApp:oFont ;
COLOR CLR_WHITE, CLR_BFOOT;
ReadOnly OF oApp:oMainWnd
@ 0,346 LISTBOX oApp:oLbx FIELDS "";
SIZE 200,200 ;
COLOR CLR_FFOOT, CLR_BFOOT;
HEADER "Users";
SIZES 70;
PIXEL OF oApp:oMainWnd
oApp:oLbx:nAt := 1
oApp:oLbx:bLine := { || { oApp:aUsers[ oApp:oLbx:nAt ][ 1 ] } }
oApp:oLbx:SetArray(oApp:aUsers)
@ 0,341 SPLITTER oVSplit ;
VERTICAL ;
PREVIOUS CONTROLS oApp:oMemo ;
HINDS CONTROLS oApp:oLbx ;
LEFT MARGIN 300 ;
RIGHT MARGIN 40 ;
SIZE 4, 200 PIXEL ;
OF oApp:oMainWnd ;
3DLOOK
ACTIVATE WINDOW oApp:oMainWnd ;
ON RESIZE ( oVSplit:Adjleft(), oVSplit:AdjRight() ) ;
VALID (ServerExit(), .t. )
return nil
Function ServerExit()
MemVar oApp, oChatClient
If oApp:lClientConnected
OnCloseClient(oChatClient:oClientSock)
Endif
oApp:End()
return .t.
Function Prep2Send(nkey)
MemVar oApp, oChatClient
Do case
Case nkey < 13 .And. oApp:lClientConnected // backspace .. etc
oApp:cTGetBuff := Alltrim(oApp:cgetVar)
Case nKey = 13 .And. oApp:lClientConnected
oApp:oGet:oJump:=oApp:oGet // focus again
if ValType(oChatClient) ="O"
SendMsg(oChatClient:oClientSock, ; // function sendMsg() in Client.prg
oChatClient:cUserName,"MSG", oApp:cTGetBuff)
Endif
oApp:oGet:VarPut(Space(130))
oApp:oget:refresh()
oApp:cTGetBuff :=""
Otherwise
// oApp:cTGetBuff := oApp:cTGetBuff + chr(nKey)
oApp:cTGetBuff := Alltrim(oApp:cgetVar) + chr(nKey)
oApp:oGet:oJump:=oApp:oGet // focus again
Endcase
return .t.
/***
* TimeAsSeconds( <cTime> ) --> nSeconds
* Convert a time string to number of seconds from midnight
*/
FUNCTION TimeAsSeconds( cTime )
RETURN VAL(cTime) * 3600 + VAL(SUBSTR(cTime, 4)) * 60 +;
VAL(SUBSTR(cTime, 7))
****************************************************************
//CLASS Definition . Program vars
****************************************************************
CLASS LETR
DATA oMainWnd, oFont, oLbx, oMemo, oGet
DATA cMemoVar, cGetVar AS CHARACTER
DATA cTGetBuff AS CHARACTER
DATA cLocalDir AS CHARACTER
DATA aUsers AS ARRAY INIT {}
DATA iPac AS NUMBER
DATA cComputer AS CHARACTER INIT "" // Net computer name (not used yet)
DATA lClientConnected AS LOGICAL
METHOD New() CONSTRUCTOR
METHOD WRData(ctext)
METHOD END()
ENDCLASS
METHOD NEW() CLASS LETR
::cLocalDir := ".\"
::aUsers := {}
::cGetVar := Space(130)
::cTGetBuff := ""
::lClientConnected:= .f.
return self
METHOD WRData(ctext) CLASS LETR // write on screen
::oMemo:Append(ctext)
::oMemo:Append(CRLF)
::oGet:SetFocus()
return self
METHOD END CLASS LETR
// close
MemVar oChatClient, oChatServer
If ::lClientConnected
oChatClient:End()
Endif
return self
****************************************************************
//END OF CLASS Definition
****************************************************************
Chat.rc
/****************************************************************************
chat.rc
produced by Borland Resource Workshop
*****************************************************************************/
LRED ICON LOADONCALL MOVEABLE DISCARDABLE
{
'00 00 01 00 01 00 20 20 10 00 00 00 00 00 E8 02'
'00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
'00 00 01 00 04 00 00 00 00 00 00 02 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00'
'00 00 80 00 80 00 80 80 00 00 C0 C0 C0 00 80 80'
'80 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00'
'00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00'
'00 99 99 90 80 00 00 00 99 99 99 00 00 00 00 00'
'00 09 99 99 08 00 00 09 99 99 90 00 00 00 00 00'
'00 00 99 99 90 80 00 99 99 99 00 00 00 00 00 00'
'00 00 09 99 99 08 09 99 99 90 00 00 00 00 00 00'
'00 00 00 99 99 90 99 99 99 00 00 00 00 00 00 00'
'00 00 00 09 99 09 99 99 90 00 00 00 00 00 00 00'
'00 00 00 00 90 99 99 99 00 00 00 00 00 00 00 00'
'00 00 00 00 09 99 99 90 80 00 00 00 00 00 00 00'
'00 00 00 00 99 99 99 09 08 00 00 00 00 00 00 00'
'00 00 00 09 99 99 90 99 90 80 00 00 00 00 00 00'
'00 00 00 99 99 99 09 99 99 08 00 00 00 00 00 00'
'00 00 09 99 99 90 09 99 99 90 80 00 00 00 00 00'
'00 00 99 99 99 00 00 99 99 99 08 00 00 00 00 00'
'00 09 99 99 90 00 00 09 99 99 90 80 00 00 00 00'
'00 99 99 99 00 00 00 00 99 99 99 08 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF'
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0F'
'F0 0F F8 07 E0 1F FC 03 C0 3F FE 01 80 7F FF 00'
'00 FF FF 80 01 FF FF C0 03 FF FF E0 07 FF FF F0'
'07 FF FF E0 03 FF FF C0 01 FF FF 80 00 FF FF 00'
'00 7F FE 01 80 3F FC 03 C0 1F F8 07 E0 0F F0 0F'
'F0 0F FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
}
3P BITMAP LOADONCALL MOVEABLE
{
'42 4D 36 08 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 20 00 00 00 20 00 00 00 01 00 08 00 00 00'
'00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 01'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 D4 F0'
'FF 00 B1 E2 FF 00 8E D4 FF 00 6B C6 FF 00 48 B8'
'FF 00 25 AA FF 00 00 AA FF 00 00 92 DC 00 00 7A'
'B9 00 00 62 96 00 00 4A 73 00 00 32 50 00 D4 E3'
'FF 00 B1 C7 FF 00 8E AB FF 00 6B 8F FF 00 48 73'
'FF 00 25 57 FF 00 00 55 FF 00 00 49 DC 00 00 3D'
'B9 00 00 31 96 00 00 25 73 00 00 19 50 00 D4 D4'
'FF 00 B1 B1 FF 00 8E 8E FF 00 6B 6B FF 00 48 48'
'FF 00 25 25 FF 00 00 00 FE 00 00 00 DC 00 00 00'
'B9 00 00 00 96 00 00 00 73 00 00 00 50 00 E3 D4'
'FF 00 C7 B1 FF 00 AB 8E FF 00 8F 6B FF 00 73 48'
'FF 00 57 25 FF 00 55 00 FF 00 49 00 DC 00 3D 00'
'B9 00 31 00 96 00 25 00 73 00 19 00 50 00 F0 D4'
'FF 00 E2 B1 FF 00 D4 8E FF 00 C6 6B FF 00 B8 48'
'FF 00 AA 25 FF 00 AA 00 FF 00 92 00 DC 00 7A 00'
'B9 00 62 00 96 00 4A 00 73 00 32 00 50 00 FF D4'
'FF 00 FF B1 FF 00 FF 8E FF 00 FF 6B FF 00 FF 48'
'FF 00 FF 25 FF 00 FE 00 FE 00 DC 00 DC 00 B9 00'
'B9 00 96 00 96 00 73 00 73 00 50 00 50 00 FF D4'
'F0 00 FF B1 E2 00 FF 8E D4 00 FF 6B C6 00 FF 48'
'B8 00 FF 25 AA 00 FF 00 AA 00 DC 00 92 00 B9 00'
'7A 00 96 00 62 00 73 00 4A 00 50 00 32 00 FF D4'
'E3 00 FF B1 C7 00 FF 8E AB 00 FF 6B 8F 00 FF 48'
'73 00 FF 25 57 00 FF 00 55 00 DC 00 49 00 B9 00'
'3D 00 96 00 31 00 73 00 25 00 50 00 19 00 FF D4'
'D4 00 FF B1 B1 00 FF 8E 8E 00 FF 6B 6B 00 FF 48'
'48 00 FF 25 25 00 FE 00 00 00 DC 00 00 00 B9 00'
'00 00 96 00 00 00 73 00 00 00 50 00 00 00 FF E3'
'D4 00 FF C7 B1 00 FF AB 8E 00 FF 8F 6B 00 FF 73'
'48 00 FF 57 25 00 FF 55 00 00 DC 49 00 00 B9 3D'
'00 00 96 31 00 00 73 25 00 00 50 19 00 00 FF F0'
'D4 00 FF E2 B1 00 FF D4 8E 00 FF C6 6B 00 FF B8'
'48 00 FF AA 25 00 FF AA 00 00 DC 92 00 00 B9 7A'
'00 00 96 62 00 00 73 4A 00 00 50 32 00 00 FF FF'
'D4 00 FF FF B1 00 FF FF 8E 00 FF FF 6B 00 FF FF'
'48 00 FF FF 25 00 FE FE 00 00 DC DC 00 00 B9 B9'
'00 00 96 96 00 00 73 73 00 00 50 50 00 00 F0 FF'
'D4 00 E2 FF B1 00 D4 FF 8E 00 C6 FF 6B 00 B8 FF'
'48 00 AA FF 25 00 AA FF 00 00 92 DC 00 00 7A B9'
'00 00 62 96 00 00 4A 73 00 00 32 50 00 00 E3 FF'
'D4 00 C7 FF B1 00 AB FF 8E 00 8F FF 6B 00 73 FF'
'48 00 57 FF 25 00 55 FF 00 00 49 DC 00 00 3D B9'
'00 00 31 96 00 00 25 73 00 00 19 50 00 00 D4 FF'
'D4 00 B1 FF B1 00 8E FF 8E 00 6B FF 6B 00 48 FF'
'48 00 25 FF 25 00 00 FE 00 00 00 DC 00 00 00 B9'
'00 00 00 96 00 00 00 73 00 00 00 50 00 00 D4 FF'
'E3 00 B1 FF C7 00 8E FF AB 00 6B FF 8F 00 48 FF'
'73 00 25 FF 57 00 00 FF 55 00 00 DC 49 00 00 B9'
'3D 00 00 96 31 00 00 73 25 00 00 50 19 00 D4 FF'
'F0 00 B1 FF E2 00 8E FF D4 00 6B FF C6 00 48 FF'
'B8 00 25 FF AA 00 00 FF AA 00 00 DC 92 00 00 B9'
'7A 00 00 96 62 00 00 73 4A 00 00 50 32 00 D4 FF'
'FF 00 B1 FF FF 00 8E FF FF 00 6B FF FF 00 48 FF'
'FF 00 25 FF FF 00 00 FE FE 00 00 DC DC 00 00 B9'
'B9 00 00 96 96 00 00 73 73 00 00 50 50 00 F2 F2'
'F2 00 E6 E6 E6 00 DA DA DA 00 CE CE CE 00 C2 C2'
'C2 00 B6 B6 B6 00 AA AA AA 00 9E 9E 9E 00 92 92'
'92 00 86 86 86 00 7A 7A 7A 00 6E 6E 6E 00 62 62'
'62 00 56 56 56 00 4A 4A 4A 00 3E 3E 3E 00 32 32'
'32 00 26 26 26 00 1A 1A 1A 00 0E 0E 0E 00 F0 FB'
'FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 00 00 00 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 00 00 6B 6B 6D 6D 00 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 00 00 6B 73 6B 6B 6D 6D 6D 00 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 00 00'
'00 E5 00 6B 6B 73 6B 6B 6D 6D 6D 00 E5 00 00 00'
'00 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 00 0D 0D 11'
'11 00 00 6B 6B 73 6B 6B 6D 6D 6D 00 00 24 24 27'
'27 00 E5 E5 E5 E5 E5 E5 E5 00 00 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6D 6D 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6D 6D 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6D 6D 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6D 6D 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 73 73 6D 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 73 6B 6B 6B 73 73 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 11'
'11 11 00 6B 6B 6B 6B 6B 6B 6D 73 00 2B 24 24 27'
'27 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 13'
'13 11 00 6B 6B 6B 6B 6B 6B 6D 6D 73 00 24 24 2B'
'2B 27 00 E5 E5 E5 E5 E5 E5 00 0D 0D 13 0D 0D 0D'
'13 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'2B 2B 00 E5 E5 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'27 2B 00 E5 E5 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'27 27 2B 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B 6B 6B 6D 6D 6D 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B 6B 6B FF FF 6B 6D 6D 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B 6B 6B FF FF 6B 6B 6B 6B 6D 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D 0D 0D'
'11 00 6B FF FF 6D 6D 6D 6D 6D 6D 6B 00 24 24 24'
'27 27 27 00 E5 E5 E5 E5 00 0D 0D 0D 0D 0D FF FF'
'0D 00 FF 6B 6D 00 00 00 00 6D 00 00 24 24 FF FF'
'24 27 27 00 E5 E5 E5 E5 00 0D 0D 0D FF FF 0D 0D'
'0D 0D 00 6B 00 EF EF F0 EF 00 24 24 FF FF 24 24'
'24 24 27 00 E5 E5 E5 E5 00 0D FF FF 11 11 11 11'
'11 11 0D F4 F0 E8 E8 E8 EF F0 00 FF 27 27 27 27'
'27 27 24 00 E5 E5 E5 E5 00 FF 0D 11 00 00 00 00'
'11 00 00 F3 E8 E3 E3 07 EA F0 00 27 00 00 00 00'
'27 00 00 E5 E5 E5 E5 E5 E5 00 0D 00 EF EF F0 EF'
'00 E5 E5 F4 E3 FF FF E3 E8 EF 00 00 EF EF F0 EF'
'00 E5 E5 E5 E5 E5 E5 E5 E5 E5 F5 F0 F7 F7 F7 EF'
'F0 00 E5 F3 E3 FF FF E3 E8 F0 00 F0 E8 E8 E8 EF'
'F0 00 E5 E5 E5 E5 E5 E5 E5 E5 F3 F7 E4 E4 07 E9'
'F0 00 E5 E5 F3 E3 07 EA F0 F4 F3 E8 E3 E3 07 EA'
'F0 00 E5 E5 E5 E5 E5 E5 E5 E5 F5 E4 FF FF E4 F7'
'EF 00 E5 E5 E5 F4 F4 00 F0 E5 F4 E3 FF FF E3 E8'
'EF 00 E5 E5 E5 E5 E5 E5 E5 E5 F3 E4 FF FF E4 F7'
'F0 00 E5 E5 E5 E5 E5 E5 E5 E5 F3 E3 FF FF E3 E8'
'F0 00 E5 E5 E5 E5 E5 E5 E5 E5 E5 F3 E4 07 E9 F0'
'F5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 F3 E3 07 EA F0'
'F4 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 F5 F5 00 F0'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 F4 F4 00 F0'
'E5 E5 E5 E5 E5 E5'
}
BACKUP BITMAP LOADONCALL MOVEABLE
{
'42 4D 46 07 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 08 00 00 00'
'00 00 10 03 00 00 13 0B 00 00 13 0B 00 00 00 01'
'00 00 00 01 00 00 00 00 00 00 01 01 01 00 ED FA'
'FE 00 EB FA FE 00 E9 FA FE 00 E7 FA FE 00 E5 FA'
'FE 00 E3 FA FE 00 E6 FA FE 00 E4 FA FE 00 E2 FA'
'FE 00 E0 FA FE 00 DE FA FE 00 DC FA FE 00 DA FA'
'FE 00 D8 FA FE 00 D6 FA FE 00 D4 FA FE 00 D1 F9'
'FD 00 CF F9 FD 00 CD F9 FD 00 CB F9 FD 00 C9 F9'
'FD 00 C7 F9 FD 00 C5 F9 FD 00 D2 FA FE 00 D0 FA'
'FE 00 CE FA FE 00 C3 F9 FD 00 C1 F9 FD 00 BF F9'
'FD 00 00 7F FF 00 9B EF F3 00 99 ED F1 00 98 EA'
'EE 00 96 E8 EC 00 95 E6 EA 00 93 E3 E7 00 92 E1'
'E5 00 90 DF E2 00 8F DD E0 00 8E DA DE 00 8C D8'
'DB 00 8B D6 D9 00 8A D4 D7 00 00 A9 FF 00 94 E4'
'E8 00 92 E2 E6 00 91 DF E3 00 8F DD E1 00 8E DB'
'DF 00 8C D8 DC 00 8B D6 DA 00 89 D4 D7 00 88 D2'
'D5 00 87 CF D3 00 85 CD D0 00 84 CB CE 00 83 C9'
'CC 00 00 D4 FF 00 00 54 FF 00 00 2A FF 00 00 00'
'FF 00 8E DC DF 00 8D DA DD 00 8C D7 DB 00 8A D5'
'D8 00 89 D3 D6 00 88 D1 D4 00 86 CE D1 00 85 CC'
'CF 00 82 C7 CA 00 80 C5 C8 00 7F C2 C5 00 7D C0'
'C3 00 00 FF FF 00 87 D0 D3 00 86 CD D0 00 80 C4'
'C7 00 7D BF C2 00 7C BD C0 00 7A BB BE 00 79 B8'
'BB 00 77 B6 B9 00 BD F9 FD 00 81 C7 CA 00 7C BE'
'C1 00 7B BC BF 00 79 B9 BC 00 78 B7 BA 00 76 B4'
'B7 00 75 B2 B5 00 73 B0 B3 00 72 AD B0 00 7A BC'
'BF 00 79 BA BD 00 76 B5 B8 00 75 B3 B6 00 74 B1'
'B4 00 72 AE B1 00 71 AC AF 00 6F AA AC 00 6E A8'
'AA 00 6D A5 A8 00 6B A3 A5 00 74 B2 B4 00 73 B0'
'B2 00 70 AB AD 00 6F A9 AB 00 6E A7 A9 00 6C A4'
'A6 00 6B A2 A4 00 69 A0 A2 00 68 9E A0 00 67 9B'
'9D 00 80 80 80 00 E8 FA FE 00 E1 FA FE 00 DF FA'
'FE 00 DB FA FE 00 D9 FA FE 00 CC F9 FD 00 CA F9'
'FD 00 D7 FA FE 00 D5 FA FE 00 C6 F9 FD 00 C4 F9'
'FD 00 D3 FA FE 00 D1 FA FE 00 FF FF FF 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 73'
'73 73 73 73 73 73 73 73 73 73 73 73 73 73 00 00'
'00 00 00 00 00 00 00 00 00 00 73 73 73 73 73 73'
'73 73 73 73 73 73 73 73 73 73 00 00 00 00 00 00'
'00 00 00 00 00 01 01 01 01 01 01 01 01 01 01 01'
'01 01 01 01 73 73 00 00 00 00 00 00 00 00 00 00'
'00 01 58 53 69 6A 5D 6B 6C 6D 6D 6F 70 71 72 01'
'73 00 00 00 00 00 00 00 00 00 00 00 00 01 01 4A'
'5E 5F 59 60 61 62 62 64 65 66 67 68 01 00 00 00'
'00 00 00 00 00 00 00 00 00 01 54 01 55 48 49 4A'
'56 57 57 59 5A 5B 5C 5D 01 00 00 00 00 00 00 00'
'00 00 00 00 00 01 16 7D 3F 40 41 42 43 44 44 46'
'3A 47 48 49 4A 01 00 00 00 00 00 00 00 00 00 00'
'00 01 13 79 24 2E 2F 30 31 32 32 34 35 36 37 38'
'39 3A 00 00 00 00 00 00 00 00 00 00 00 01 10 7F'
'01 20 21 22 23 24 24 26 27 28 29 2A 2B 2C 00 00'
'00 00 00 00 00 00 00 00 00 01 10 7F 01 01 01 01'
'01 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00'
'00 00 00 00 00 01 0D 78 7C 19 1A 1B 1B 15 16 7E'
'1D 1E 01 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 01 07 0B 77 78 10 11 11 12 13 7A 17 01 1F 01'
'00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 08'
'75 76 0D 0E 01 01 01 01 01 2D 1F 3C 01 00 00 00'
'73 73 73 73 73 73 73 73 73 73 73 01 01 01 01 01'
'00 00 00 4B 3B 2D 1F 3C 3D 3E 00 73 73 73 73 73'
'73 73 73 73 73 73 73 73 73 73 00 00 00 00 00 01'
'01 2D 1F 3C 01 01 01 01 01 01 01 01 01 01 01 01'
'01 01 01 01 73 00 00 00 00 00 00 00 01 2D 1F 3C'
'01 00 01 58 53 5A 69 6A 5D 6C 6D 6E 6F 70 71 72'
'00 00 00 00 00 01 01 00 01 2D 1F 3C 01 00 01 01'
'4A 56 5E 5F 59 61 62 63 64 65 66 67 01 00 00 00'
'01 1F 01 00 01 2D 1F 3C 01 00 01 54 01 3A 55 48'
'49 56 57 58 59 5A 5B 5C 01 00 00 01 2D 1F 01 01'
'01 2D 1F 3C 01 00 01 1C 01 2C 36 4C 4D 3A 47 4E'
'49 4F 50 51 53 01 01 3B 2D 1F 3C 3E 01 2D 1F 3C'
'01 00 01 13 14 01 24 2E 2F 31 32 33 34 35 36 37'
'39 3A 01 3B 2D 1F 3C 3E 01 2D 01 00 00 00 01 10'
'11 19 01 20 21 23 24 25 26 27 28 29 2B 2C 01 01'
'2D 1F 01 01 01 01 00 00 00 00 01 10 11 19 01 01'
'01 01 01 01 01 01 01 01 01 01 01 00 01 1F 01 00'
'00 00 00 00 00 00 01 0D 0E 0F 10 11 19 1B 15 16'
'17 18 1C 1D 01 00 00 00 00 01 01 00 00 00 00 00'
'00 00 01 07 0B 0C 0D 0E 0F 11 12 13 14 15 16 17'
'01 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01'
'08 09 0A 0B 0C 01 01 01 01 01 01 01 01 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 01 02 03 04 05'
'06 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00'
}
BOXIN1 BITMAP LOADONCALL MOVEABLE
{
'42 4D 46 07 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 08 00 00 00'
'00 00 10 03 00 00 13 0B 00 00 13 0B 00 00 00 01'
'00 00 00 01 00 00 00 00 00 00 00 00 FF 00 00 07'
'FF 00 00 03 FF 00 00 0E FF 00 00 15 FF 00 00 0A'
'FF 00 00 1C FF 00 7A B9 00 00 62 96 00 00 00 24'
'FF 00 00 12 FF 00 75 B2 00 00 00 2B FF 00 6B A4'
'00 00 70 AB 00 00 00 32 FF 00 00 19 FF 00 64 99'
'00 00 53 81 00 00 5C 8F 00 00 66 9D 00 00 00 4F'
'FF 00 00 39 FF 00 4A 73 00 00 56 84 00 00 00 A3'
'FF 00 00 90 FF 00 00 7E FF 00 00 6C FF 00 00 5A'
'FF 00 00 48 FF 00 00 A6 FF 00 00 98 FF 00 00 89'
'FF 00 00 7B FF 00 00 6D FF 00 51 7D 00 00 00 B2'
'FF 00 00 A7 FF 00 00 9C FF 00 00 91 FF 00 4E 7A'
'00 00 00 C4 FF 00 00 BD FF 00 00 B6 FF 00 4C 76'
'00 00 00 DD FF 00 00 DA FF 00 00 FF FF 00 92 DC'
'00 00 8F D7 00 00 8E D6 00 00 8E D5 00 00 8C D3'
'00 00 8B D2 00 00 8B D1 00 00 8A D0 00 00 89 CF'
'00 00 89 CE 00 00 88 CD 00 00 87 CC 00 00 86 CB'
'00 00 86 CA 00 00 85 C9 00 00 84 C8 00 00 84 C7'
'00 00 83 C6 00 00 82 C5 00 00 82 C4 00 00 81 C3'
'00 00 80 C2 00 00 80 C1 00 00 85 C8 00 00 7F C0'
'00 00 32 50 00 00 7E BF 00 00 83 C5 00 00 7E BE'
'00 00 7C BC 00 00 7C BB 00 00 7B BA 00 00 7D BD'
'00 00 7F BF 00 00 7B BB 00 00 7A BA 00 00 FF FF'
'FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 56 56 00 08 08 08'
'08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08'
'08 08 08 08 08 00 56 56 00 52 4F 4F 4F 54 54 51'
'4B 32 32 32 32 32 32 32 32 51 51 54 50 4F 4F 4F'
'52 00 56 56 00 48 4A 53 4C 52 52 4F 4B 54 51 55'
'08 08 55 51 32 4F 4F 52 4E 4C 53 4A 48 00 56 56'
'00 4D 45 46 47 4A 4C 4E 4B 4F 50 51 08 08 51 50'
'32 52 4E 4A 48 47 46 45 4D 00 56 56 00 3B 3C 3D'
'3E 40 41 42 43 44 45 46 48 47 46 45 44 43 42 40'
'3F 3E 3D 3C 3B 00 56 56 00 36 37 38 39 3A 00 00'
'00 00 00 00 00 00 00 00 00 00 00 3A 39 39 38 37'
'36 00 56 56 00 33 34 34 34 00 18 18 18 18 18 18'
'18 18 18 18 18 18 18 00 35 34 34 34 33 00 56 56'
'00 32 32 32 32 18 18 18 18 18 18 18 18 18 18 18'
'18 18 18 18 00 32 32 32 32 00 56 56 00 00 00 00'
'00 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18'
'18 00 00 00 00 00 56 56 00 18 18 18 00 18 18 18'
'18 18 18 18 00 18 18 18 18 18 18 18 18 00 18 18'
'18 00 56 56 56 00 2E 18 18 18 18 18 18 18 18 18'
'31 00 18 18 18 18 18 18 00 18 18 2E 00 56 56 56'
'56 56 00 18 18 00 18 18 18 18 00 2B 2D 2C 2B 00'
'18 18 18 00 25 18 18 00 56 56 56 56 56 56 00 18'
'18 00 18 18 18 00 26 27 29 28 27 26 00 18 18 00'
'13 18 18 00 56 56 56 56 56 56 56 00 18 09 00 00'
'00 20 21 22 24 23 22 21 20 00 00 09 19 18 00 56'
'56 56 56 56 56 56 56 00 13 15 00 00 1A 1B 1C 1D'
'1F 1E 1D 1C 1B 1A 00 15 14 13 00 56 56 56 56 56'
'56 56 56 56 00 0E 00 00 00 00 00 16 0A 17 16 00'
'00 00 00 0E 12 00 56 56 56 56 56 56 56 56 56 56'
'00 0F 00 09 09 09 00 10 01 11 10 00 09 09 09 0F'
'0E 00 56 56 56 56 56 56 56 56 56 56 56 0C 00 09'
'09 09 00 10 01 11 10 00 09 09 09 0C 00 56 56 56'
'56 56 56 56 56 56 56 56 56 00 00 00 00 00 00 0A'
'01 0B 0A 00 00 00 00 00 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 00 07 01 04 07 00'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 00 05 01 06 05 00 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 00 04 01 02 04 00 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 02'
'01 03 02 00 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 00 01 01 01 01 00'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 00 00 00 00 00 00 56 56 56 56'
'56 56 56 56 56 56'
}
BOXOUT BITMAP LOADONCALL MOVEABLE
{
'42 4D 46 07 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 08 00 00 00'
'00 00 10 03 00 00 13 0B 00 00 13 0B 00 00 00 01'
'00 00 00 01 00 00 00 00 00 00 00 00 FF 00 00 07'
'FF 00 00 03 FF 00 00 0E FF 00 00 15 FF 00 00 0A'
'FF 00 00 1C FF 00 7A B9 00 00 62 96 00 00 00 24'
'FF 00 00 12 FF 00 75 B2 00 00 00 2B FF 00 6B A4'
'00 00 70 AB 00 00 00 32 FF 00 00 19 FF 00 64 99'
'00 00 53 81 00 00 5C 8F 00 00 66 9D 00 00 00 4F'
'FF 00 00 39 FF 00 4A 73 00 00 56 84 00 00 00 A3'
'FF 00 00 90 FF 00 00 7E FF 00 00 6C FF 00 00 5A'
'FF 00 00 48 FF 00 00 A6 FF 00 00 98 FF 00 00 89'
'FF 00 00 7B FF 00 00 6D FF 00 51 7D 00 00 00 B2'
'FF 00 00 A7 FF 00 00 9C FF 00 00 91 FF 00 4E 7A'
'00 00 00 C4 FF 00 00 BD FF 00 00 B6 FF 00 4C 76'
'00 00 00 DD FF 00 00 DA FF 00 00 FF FF 00 92 DC'
'00 00 8F D7 00 00 8E D6 00 00 8E D5 00 00 8C D3'
'00 00 8B D2 00 00 8B D1 00 00 8A D0 00 00 89 CF'
'00 00 89 CE 00 00 88 CD 00 00 87 CC 00 00 86 CB'
'00 00 86 CA 00 00 85 C9 00 00 84 C8 00 00 84 C7'
'00 00 83 C6 00 00 82 C5 00 00 82 C4 00 00 81 C3'
'00 00 80 C2 00 00 80 C1 00 00 85 C8 00 00 7F C0'
'00 00 32 50 00 00 7E BF 00 00 83 C5 00 00 7E BE'
'00 00 7C BC 00 00 7C BB 00 00 7B BA 00 00 7D BD'
'00 00 7F BF 00 00 7B BB 00 00 7A BA 00 00 FF FF'
'FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 56 56 00 08 08 08'
'08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08'
'08 08 08 08 08 00 56 56 00 52 4F 4F 4F 54 54 51'
'4B 32 32 32 32 32 32 32 32 51 51 54 50 4F 4F 4F'
'52 00 56 56 00 48 4A 53 4C 52 52 4F 4B 54 51 55'
'08 08 55 51 32 4F 4F 52 4E 4C 53 4A 48 00 56 56'
'00 4D 45 46 47 4A 4C 4E 4B 4F 50 51 08 08 51 50'
'32 52 4E 4A 48 47 46 45 4D 00 56 56 00 3B 3C 3D'
'3E 40 41 42 43 44 45 46 48 47 46 45 44 43 42 40'
'3F 3E 3D 3C 3B 00 56 56 00 36 37 38 39 3A 00 00'
'00 00 00 00 00 00 00 00 00 00 00 3A 39 39 38 37'
'36 00 56 56 00 33 34 34 34 00 18 18 18 18 18 18'
'18 18 18 18 18 18 18 00 35 34 34 34 33 00 56 56'
'00 32 32 32 32 18 18 18 18 18 18 18 18 18 18 18'
'18 18 18 18 00 32 32 32 32 00 56 56 00 00 00 00'
'00 18 18 18 18 18 00 00 00 00 00 00 18 18 18 18'
'18 00 00 00 00 00 56 56 00 18 18 18 00 18 18 18'
'18 18 00 01 01 01 01 00 18 18 18 18 18 00 18 18'
'18 00 56 56 56 00 2E 18 18 18 18 18 18 18 00 02'
'01 03 02 00 18 18 18 18 00 18 18 2E 00 56 56 56'
'56 56 00 18 18 00 18 18 18 18 00 05 01 06 05 00'
'18 18 18 00 25 18 18 00 56 56 56 56 56 56 00 18'
'18 00 18 18 18 18 00 07 01 04 07 00 18 18 18 00'
'13 18 18 00 56 56 56 56 56 56 56 00 18 09 00 00'
'00 00 00 0A 01 0B 0A 00 00 00 00 09 19 18 00 56'
'56 56 56 56 56 56 56 00 13 15 00 09 09 09 00 0D'
'01 05 0D 00 09 09 09 15 14 13 00 56 56 56 56 56'
'56 56 56 56 00 0E 00 09 09 09 00 10 01 11 10 00'
'09 09 09 0E 12 00 56 56 56 56 56 56 56 56 56 56'
'00 0F 00 09 09 09 00 10 01 11 10 00 09 09 09 0F'
'0E 00 56 56 56 56 56 56 56 56 56 56 56 0C 00 00'
'00 00 00 16 0A 17 16 00 00 00 00 0C 00 56 56 56'
'56 56 56 56 56 56 56 56 56 00 00 00 00 20 21 22'
'24 23 22 21 20 00 00 00 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 00 26 27 29 28 27 26'
'00 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 00 2B 2D 2C 2B 00 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 00 30 2F 00 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'31 00 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 00 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56'
'56 56 56 56 56 56'
}
BROW1 BITMAP LOADONCALL MOVEABLE
{
'42 4D 36 02 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 04 00 00 00'
'00 00 C0 01 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 88 88 88 88 88 88 88 88'
'88 88 88 77 00 00 77 70 00 00 00 00 00 00 00 00'
'00 00 00 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 F9 99 99 0E EE EE EE 0A'
'AA AA 30 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 30 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 30 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 30 77 00 00 77 70 FF FF FF FF FF FF FF FF'
'FF FF F0 77 00 00 77 70 00 00 00 00 00 00 00 00'
'00 00 00 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00'
}
BROW2 BITMAP LOADONCALL MOVEABLE
{
'42 4D 36 02 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 1C 00 00 00 1C 00 00 00 01 00 04 00 00 00'
'00 00 C0 01 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 70 00 00 00 00 00 00 00 00'
'00 00 00 77 00 00 77 70 88 88 88 88 88 88 88 88'
'88 88 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 F0 00 00 00 00 00 00 00'
'00 00 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FF FF FF F0 99 99 90 FF'
'FF FF 80 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 80 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 80 77 00 00 77 70 FC CC CC CC CC CC CC CC'
'CC CC 80 77 00 00 77 70 FF FF FF FF FF FF FF FF'
'FF FF 80 77 00 00 77 70 00 00 00 00 00 00 00 00'
'00 00 00 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 00 00'
}
BUG BITMAP LOADONCALL MOVEABLE
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 C4 0E 00 00 C4 0E 00 00 10 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 70 77 77 77 77 07 77 77 0B'
'07 70 07 70 B0 77 77 0B 07 03 B0 70 B0 77 77 70'
'B0 FB B3 0B 07 77 77 70 00 FB BB 00 07 77 77 0B'
'B0 FB B3 0B B0 77 77 70 00 0B B0 00 07 77 77 77'
'00 FB BB 00 77 77 77 70 B0 0F 30 0B 07 77 77 0B'
'07 70 07 70 B0 77 77 00 77 07 70 77 00 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
CHECK1 BITMAP LOADONCALL MOVEABLE
{
'42 4D E6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 0E 00 00 00 0E 00 00 00 01 00 04 00 00 00'
'00 00 70 00 00 00 00 00 00 00 00 00 00 00 10 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 FF FF FF FF FF FF 00 78 07'
'77 77 77 77 7F 00 78 08 88 88 88 88 7F 00 78 08'
'99 88 89 98 7F 00 78 08 99 98 99 98 7F 00 78 08'
'89 99 99 88 7F 00 78 08 88 99 98 88 7F 00 78 08'
'89 99 99 88 7F 00 78 08 99 98 99 98 7F 00 78 08'
'99 88 89 98 7F 00 78 08 88 88 88 88 7F 00 78 00'
'00 00 00 00 7F 00 78 88 88 88 88 88 87 00 77 77'
'77 77 77 77 77 00'
}
CHECK3 BITMAP LOADONCALL MOVEABLE
{
'42 4D E6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 0E 00 00 00 0E 00 00 00 01 00 04 00 00 00'
'00 00 70 00 00 00 00 00 00 00 00 00 00 00 10 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 FF FF FF FF FF FF 00 78 07'
'77 77 77 77 7F 00 78 08 88 88 88 88 7F 00 78 08'
'AA 88 8A A8 7F 00 78 08 AA A8 AA A8 7F 00 78 08'
'8A AA AA 88 7F 00 78 08 88 AA A8 88 7F 00 78 08'
'8A AA AA 88 7F 00 78 08 AA A8 AA A8 7F 00 78 08'
'AA 88 8A A8 7F 00 78 08 88 88 88 88 7F 00 78 00'
'00 00 00 00 7F 00 78 88 88 88 88 88 87 00 77 77'
'77 77 77 77 77 00'
}
DEL1 BITMAP LOADONCALL MOVEABLE
{
'42 4D 96 01 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 18 00 00 00 18 00 00 00 01 00 04 00 00 00'
'00 00 20 01 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 88 88 88 88 88 88 88 77 77 77 79 91 88 88 88'
'88 88 19 98 77 77 77 79 99 14 44 44 44 41 99 98'
'77 77 77 77 99 91 BF BF BF 19 99 88 77 77 77 77'
'79 99 1B FB F1 99 94 88 77 77 77 77 74 99 91 BF'
'19 99 B4 88 77 77 77 77 74 F9 99 11 99 9B F4 88'
'77 77 77 77 74 BF 99 99 99 BF B4 88 77 77 77 77'
'74 FB F9 99 9B FB F4 88 77 77 77 77 74 BF 19 99'
'91 BF B4 88 77 77 77 77 74 F1 99 99 99 1B F4 88'
'77 77 77 77 74 19 99 BF 99 91 B4 88 77 77 77 77'
'71 99 9B FB F9 99 14 88 77 77 77 77 19 99 BF BF'
'B4 99 91 77 77 77 77 71 99 9B FB FB F4 F9 99 17'
'77 77 77 79 99 BF BF BF B4 B4 99 97 77 77 77 79'
'94 FB FB FB F4 47 79 97 77 77 77 77 74 44 44 44'
'44 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
DOWN BITMAP LOADONCALL MOVEABLE
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 C4 0E 00 00 C4 0E 00 00 00 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 70 77 77 77 77 77 77 77 09 07 77 77 77 77 77'
'70 99 90 77 77 77 77 77 09 99 99 07 77 77 77 70'
'99 99 99 90 77 77 77 00 00 99 90 00 07 77 77 77'
'70 99 90 77 77 77 77 77 70 99 90 77 77 77 77 77'
'70 99 90 77 77 77 77 77 70 00 00 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
EDIT1 BITMAP LOADONCALL MOVEABLE
{
'42 4D 16 02 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 1A 00 00 00 1A 00 00 00 01 00 04 00 00 00'
'00 00 A0 01 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 BF 00 00 BF'
'00 00 00 BF BF 00 BF 00 00 00 BF 00 BF 00 BF BF'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 88 88 88 88 88 88 77 77'
'77 77 77 00 00 00 77 77 88 88 88 88 88 88 88 77'
'77 77 77 00 00 00 77 74 44 44 44 44 44 44 88 77'
'77 77 77 00 00 00 77 74 BF BF BF BF BF B4 88 77'
'77 77 77 00 00 00 77 74 FB FB F0 00 00 F4 88 77'
'77 77 77 00 00 00 77 74 BF BF B0 03 33 04 88 77'
'77 77 77 00 00 00 77 74 FB FB F0 33 B3 30 88 77'
'77 77 77 00 00 00 77 74 BF BF B0 3B BB 33 08 87'
'77 77 77 00 00 00 77 74 FB FB F0 FF BB B3 30 88'
'77 77 77 00 00 00 77 74 BF BF BF 0F FB BB 33 08'
'87 77 77 00 00 00 77 74 FB FB FB F0 FF BB B3 30'
'88 77 77 00 00 00 77 74 BF BF BF BF 0F FB BB 33'
'08 87 77 00 00 00 77 74 FB FB FB FB F0 FF BB B3'
'30 88 77 00 00 00 77 74 BF BF BF B4 44 0F FB BB'
'00 08 77 00 00 00 77 74 FB FB FB F4 FB 40 FF B0'
'33 07 77 00 00 00 77 74 BF BF BF B4 B4 77 0F 03'
'03 07 77 00 00 00 77 74 FB FB FB F4 47 77 70 03'
'30 77 77 00 00 00 77 74 44 44 44 44 77 77 77 00'
'07 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 00 00 00'
}
EMPL BITMAP LOADONCALL MOVEABLE
{
'42 4D 36 08 00 00 00 00 00 00 36 04 00 00 28 00'
'00 00 20 00 00 00 20 00 00 00 01 00 08 00 00 00'
'00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 01'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 D4 F0'
'FF 00 B1 E2 FF 00 8E D4 FF 00 6B C6 FF 00 48 B8'
'FF 00 25 AA FF 00 00 AA FF 00 00 92 DC 00 00 7A'
'B9 00 00 62 96 00 00 4A 73 00 00 32 50 00 D4 E3'
'FF 00 B1 C7 FF 00 8E AB FF 00 6B 8F FF 00 48 73'
'FF 00 25 57 FF 00 00 55 FF 00 00 49 DC 00 00 3D'
'B9 00 00 31 96 00 00 25 73 00 00 19 50 00 D4 D4'
'FF 00 B1 B1 FF 00 8E 8E FF 00 6B 6B FF 00 48 48'
'FF 00 25 25 FF 00 00 00 FE 00 00 00 DC 00 00 00'
'B9 00 00 00 96 00 00 00 73 00 00 00 50 00 E3 D4'
'FF 00 C7 B1 FF 00 AB 8E FF 00 8F 6B FF 00 73 48'
'FF 00 57 25 FF 00 55 00 FF 00 49 00 DC 00 3D 00'
'B9 00 31 00 96 00 25 00 73 00 19 00 50 00 F0 D4'
'FF 00 E2 B1 FF 00 D4 8E FF 00 C6 6B FF 00 B8 48'
'FF 00 AA 25 FF 00 AA 00 FF 00 92 00 DC 00 7A 00'
'B9 00 62 00 96 00 4A 00 73 00 32 00 50 00 FF D4'
'FF 00 FF B1 FF 00 FF 8E FF 00 FF 6B FF 00 FF 48'
'FF 00 FF 25 FF 00 FE 00 FE 00 DC 00 DC 00 B9 00'
'B9 00 96 00 96 00 73 00 73 00 50 00 50 00 FF D4'
'F0 00 FF B1 E2 00 FF 8E D4 00 FF 6B C6 00 FF 48'
'B8 00 FF 25 AA 00 FF 00 AA 00 DC 00 92 00 B9 00'
'7A 00 96 00 62 00 73 00 4A 00 50 00 32 00 FF D4'
'E3 00 FF B1 C7 00 FF 8E AB 00 FF 6B 8F 00 FF 48'
'73 00 FF 25 57 00 FF 00 55 00 DC 00 49 00 B9 00'
'3D 00 96 00 31 00 73 00 25 00 50 00 19 00 FF D4'
'D4 00 FF B1 B1 00 FF 8E 8E 00 FF 6B 6B 00 FF 48'
'48 00 FF 25 25 00 FE 00 00 00 DC 00 00 00 B9 00'
'00 00 96 00 00 00 73 00 00 00 50 00 00 00 FF E3'
'D4 00 FF C7 B1 00 FF AB 8E 00 FF 8F 6B 00 FF 73'
'48 00 FF 57 25 00 FF 55 00 00 DC 49 00 00 B9 3D'
'00 00 96 31 00 00 73 25 00 00 50 19 00 00 FF F0'
'D4 00 FF E2 B1 00 FF D4 8E 00 FF C6 6B 00 FF B8'
'48 00 FF AA 25 00 FF AA 00 00 DC 92 00 00 B9 7A'
'00 00 96 62 00 00 73 4A 00 00 50 32 00 00 FF FF'
'D4 00 FF FF B1 00 FF FF 8E 00 FF FF 6B 00 FF FF'
'48 00 FF FF 25 00 FE FE 00 00 DC DC 00 00 B9 B9'
'00 00 96 96 00 00 73 73 00 00 50 50 00 00 F0 FF'
'D4 00 E2 FF B1 00 D4 FF 8E 00 C6 FF 6B 00 B8 FF'
'48 00 AA FF 25 00 AA FF 00 00 92 DC 00 00 7A B9'
'00 00 62 96 00 00 4A 73 00 00 32 50 00 00 E3 FF'
'D4 00 C7 FF B1 00 AB FF 8E 00 8F FF 6B 00 73 FF'
'48 00 57 FF 25 00 55 FF 00 00 49 DC 00 00 3D B9'
'00 00 31 96 00 00 25 73 00 00 19 50 00 00 D4 FF'
'D4 00 B1 FF B1 00 8E FF 8E 00 6B FF 6B 00 48 FF'
'48 00 25 FF 25 00 00 FE 00 00 00 DC 00 00 00 B9'
'00 00 00 96 00 00 00 73 00 00 00 50 00 00 D4 FF'
'E3 00 B1 FF C7 00 8E FF AB 00 6B FF 8F 00 48 FF'
'73 00 25 FF 57 00 00 FF 55 00 00 DC 49 00 00 B9'
'3D 00 00 96 31 00 00 73 25 00 00 50 19 00 D4 FF'
'F0 00 B1 FF E2 00 8E FF D4 00 6B FF C6 00 48 FF'
'B8 00 25 FF AA 00 00 FF AA 00 00 DC 92 00 00 B9'
'7A 00 00 96 62 00 00 73 4A 00 00 50 32 00 D4 FF'
'FF 00 B1 FF FF 00 8E FF FF 00 6B FF FF 00 48 FF'
'FF 00 25 FF FF 00 00 FE FE 00 00 DC DC 00 00 B9'
'B9 00 00 96 96 00 00 73 73 00 00 50 50 00 F2 F2'
'F2 00 E6 E6 E6 00 DA DA DA 00 CE CE CE 00 C2 C2'
'C2 00 B6 B6 B6 00 AA AA AA 00 9E 9E 9E 00 92 92'
'92 00 86 86 86 00 7A 7A 7A 00 6E 6E 6E 00 62 62'
'62 00 56 56 56 00 4A 4A 4A 00 3E 3E 3E 00 32 32'
'32 00 26 26 26 00 1A 1A 1A 00 0E 0E 0E 00 F0 FB'
'FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 00 00 00 00 07 07 07 07 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 00 00 6B 6B 6D 6D 00 07 07 07 07 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'00 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 07 07'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 07 07'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 07 07'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 07 07'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 07 07 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6D 6D 6D 00 07 07 07 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 73 73 6D 00 07 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 73 6B 6B 6B 73 73 00 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 6B 6B 6B 6B 6D 73 00 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 6B 6B 6B 6B 6B 6D 6D 73 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B 6B 6B 6D 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B 6B 6B FF FF 6B 6D 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'6B 6B FF FF 6B 6B 6B 6B 6D 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 6B'
'FF FF 6D 6D 6D 6D 6D 6D 6B 00 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00 FF'
'6B 6D 00 00 00 00 6D 00 00 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 00'
'6B 00 EF EF F0 EF 00 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'F4 F0 E8 E8 E8 EF F0 00 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'F3 E8 E3 E3 07 EA F0 00 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'F4 E3 FF FF E3 E8 EF 00 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'F3 E3 FF FF E3 E8 F0 00 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 F3 E3 07 EA F0 F4 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 F4 F4 00 F0 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5'
'E5 E5 E5 E5 E5 E5'
}
EXIT BITMAP LOADONCALL MOVEABLE
{
'42 4D 72 01 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 17 00 00 00 15 00 00 00 01 00 04 00 00 00'
'00 00 FC 00 00 00 00 00 00 00 00 00 00 00 10 00'
'00 00 10 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 80 80 80 00 C0 C0 C0 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 88 88 88 88 88 88 88 88 88 88'
'88 80 88 88 88 88 88 88 88 88 88 88 88 80 88 88'
'88 88 88 88 88 88 88 88 88 80 88 88 88 88 88 88'
'88 88 88 88 88 80 88 88 88 88 88 88 88 88 88 88'
'88 80 88 88 88 88 88 88 88 80 F8 88 88 80 88 88'
'80 F8 88 88 88 88 88 88 88 80 88 88 00 0F 88 88'
'88 0F 88 88 88 80 88 88 00 0F 88 88 80 F8 88 88'
'88 80 88 88 80 00 F8 88 00 F8 88 88 88 80 88 88'
'88 00 0F 80 0F 88 88 88 88 80 88 88 88 80 00 00'
'F8 88 88 88 88 80 88 88 88 88 00 0F 88 88 88 88'
'88 80 88 88 88 80 00 00 F8 88 88 88 88 80 88 88'
'88 00 0F 80 F8 88 88 88 88 80 88 88 00 00 F8 88'
'00 F8 88 88 88 80 88 80 00 0F 88 88 80 0F 88 88'
'88 80 88 80 0F 88 88 88 88 00 F8 88 88 80 88 88'
'88 88 88 88 88 88 88 88 88 80 88 88 88 88 88 88'
'88 88 88 88 88 80 88 88 88 88 88 88 88 88 88 88'
'88 80'
}
FALSE BITMAP LOADONCALL MOVEABLE
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 1
Last edited by norberto on Wed Sep 24, 2008 8:08 pm, edited 1 time in total.
author: (not tested to me).
Author Yanni Yannas - Rhodes Greece. Email : plous-rh@otenet.gr
// Description :
// A chat program over TCP/IP written in Fivewin.
// The original program was written in FWH and Harbour. But i still have problems
// with the displaying of the memo. Until solved, i 'dropped back' to Fivewin.
// I wrote this, as a excercise, trying to understand sockets.
// Contains a server section and a client section. Any station can act as server
// for the chat session.
// Tested over the internal company network with 4 users.
// I apologise for the confusing coding in some places, i hope to correct that when
// i will have more knowledge on sockets...
// Please, feel free to correct, add code, and use as you wish.
// Many thanks to everyone of you my friends for your continuous support and help.
//
// To my friend Vangelis, a special 'thank you !', for his very original help on sockets :
// "Immagine water pipes. If you connect the right edges, then , water goes
// where you want to send it !"
Author Yanni Yannas - Rhodes Greece. Email : plous-rh@otenet.gr
// Description :
// A chat program over TCP/IP written in Fivewin.
// The original program was written in FWH and Harbour. But i still have problems
// with the displaying of the memo. Until solved, i 'dropped back' to Fivewin.
// I wrote this, as a excercise, trying to understand sockets.
// Contains a server section and a client section. Any station can act as server
// for the chat session.
// Tested over the internal company network with 4 users.
// I apologise for the confusing coding in some places, i hope to correct that when
// i will have more knowledge on sockets...
// Please, feel free to correct, add code, and use as you wish.
// Many thanks to everyone of you my friends for your continuous support and help.
//
// To my friend Vangelis, a special 'thank you !', for his very original help on sockets :
// "Immagine water pipes. If you connect the right edges, then , water goes
// where you want to send it !"
- xProgrammer
- Posts: 464
- Joined: Tue May 16, 2006 7:47 am
- Location: Australia
Hi Silvio, Norberto
IP messaging from FWH should work fine. My client server xBase database (in FiveLinux) has been operating without a problem for some two weeks now.
Just a suggestion - if you are sending multiple pieces of data in a message rather than using token delimiters (which then have to be excluded from any data that might be sent) consider sending arrays using HB_Serialize() and HB_DesSerialize() at the other end.
For example
then at the other end something like:
Just a suggestion
Happy coding
xProgrammer
IP messaging from FWH should work fine. My client server xBase database (in FiveLinux) has been operating without a problem for some two weeks now.
Just a suggestion - if you are sending multiple pieces of data in a message rather than using token delimiters (which then have to be excluded from any data that might be sent) consider sending arrays using HB_Serialize() and HB_DesSerialize() at the other end.
For example
Code: Select all | Expand
#define MSG_USER_NAME 1
#define MSG_COMMAND 2
#define MSG_MESSAGE 3
#define CMD_CHAT 1
//build a message
aMessage := Array( 3 )
aMessage[MSG_USER_NAME] := "Silvio"
aMessage[MSG_COMMAND] := CMD_CHAT
aMessage[MSG_MESSAGE] := "Hello World"
SendMessage( HB_Serialize( aMessage ) )
then at the other end something like:
Code: Select all | Expand
aMessageIn := HB_DeSerilaize( cIncomingText )
DO CASE
CASE aMessageIn[MSG_COMMAND] := CMD_CHAT
Just a suggestion
Happy coding
xProgrammer
I explain you
I work at school
We have 250 computer all connected to the same network
I want only a small messaging from on my computer to communicate with a person using another computer.
Each machine must be connected to the same network.
Also, each computer must use similar protocol (TCP/IP).
Now I found a prg at http://www.leadmind.com/index.html
but it have a price...
It use broadcasting address (255.255.255.255 ) or Multicast
why we cannot create it with fwh ?
Perhaps winsock classes not run ok ?
I work at school
We have 250 computer all connected to the same network
I want only a small messaging from on my computer to communicate with a person using another computer.
Each machine must be connected to the same network.
Also, each computer must use similar protocol (TCP/IP).
Now I found a prg at http://www.leadmind.com/index.html
but it have a price...
It use broadcasting address (255.255.255.255 ) or Multicast
why we cannot create it with fwh ?
Perhaps winsock classes not run ok ?
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Silvio,
FWH sockets work really fine, but you always choose the "hard" way
It is much simpler to use an existing chat application (IRC, etc.) instead of building one from zero. Unless you have nothing better to do
As I told you, as you are working on a Lan, you can use a browse and a timer, and you will have it working in ten minutes.
But if you want to build one based on tcp/ip and syncronize lots of users, go ahead and do it![Smile :-)](./images/smilies/icon_smile.gif)
FWH sockets work really fine, but you always choose the "hard" way
![Smile :-)](./images/smilies/icon_smile.gif)
It is much simpler to use an existing chat application (IRC, etc.) instead of building one from zero. Unless you have nothing better to do
![Smile :-)](./images/smilies/icon_smile.gif)
As I told you, as you are working on a Lan, you can use a browse and a timer, and you will have it working in ten minutes.
But if you want to build one based on tcp/ip and syncronize lots of users, go ahead and do it
![Smile :-)](./images/smilies/icon_smile.gif)
i'M TRY TO USE tcp/ip CHAT
i RUN A SERVER CHAT to a ip address 172.15.20.4 port 790
look it please
1)
I run another client ( we call it PIPPO) and I connect it to the same ip of the server
I can see PiPPO on the server window
2)
Then I run another client ( we call it PAOLO) and I connect it to the same ip of the server
I can see PAOLO on the server window
3) Now I want send a message from paolo to pippo
it not run ok
do you want help me please ?
i RUN A SERVER CHAT to a ip address 172.15.20.4 port 790
look it please
![Image](http://img253.imageshack.us/img253/9584/pippochatzh0.jpg)
1)
I run another client ( we call it PIPPO) and I connect it to the same ip of the server
I can see PiPPO on the server window
2)
Then I run another client ( we call it PAOLO) and I connect it to the same ip of the server
I can see PAOLO on the server window
3) Now I want send a message from paolo to pippo
it not run ok
do you want help me please ?
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact: