After the big bang, Adam and eve, The discovery of fire, The first foot of the man on the mon, The invention of the engine explosion, .......
Today is a great day.
Is the first trick and tips of KCC

I know that KCC ask thousand and thousand question, all much null, and never give anything in the forum.

But it's finish, today KCC give his first OPEN SOURCE code

Yes ladies and gentleman OPEN SOURCE code

Please don't be cruel with KCC, because he know it's pig programming

And the master of this site can programming the same thing with his finger of foot, and with eyes hiden

But KCC his proud to give something at the family

This is an open project like VB.
You put an exe in each folder who contains ".pb" and his ".pbi".
Run the exe and select the PB Project that you want to OPEN
And KCC OpenProject load all the PBI who is in the PB code for you

It's an original idea of TsSoft, but his code is a tool who insert in the IDE.
And when i have installed the IDE V4.3 B4, i have several problem with it

Then i have decided to create a extern program for do this

I need that because i have a big DLL with much PBI and it's puzzling to open all each time that i need all

In VB i click on the PRoject.vbp and the code source load all the module and the main source, and i don't like that VB can do something that PB can't need

Well, again thanks for the code of all MASTER MEMBERS of all forum.
If a MASTER of this forum, want to optimize this code, or have a better way to do exactly the same function, please help me

Be careful, the originaly of this code is that he works fine without care is the option "run only one instance" is or not checked

And because KCC speak very good english ........

This code is Bi language

Code: Select all
; Ouverture d'un PROJET (Fichier principal .Pb et ses .Pbi) avec la methode SENDKEY
; OpenProject (Master file PB and his PBI) with SENDKEY METHOD
; Mal codé par KCC (Mais ça marche à peu pres) :-(
; Pig coded by KCC (But it's works a little bit) :-(
; Merci à TS-SOFT, FREAK, BROSSDEN, ORYAAAAA, SOLDAT INCONNU, MILAN1612, DOBRO, CHRIS
; Thanks to TS-SOFT, FREAK, BROSSDEN, ORYAAAAA, SOLDAT INCONNU, MILAN1612, DOBRO, CHRIS
Global AppPath.s
Global FichierACharger.s
Global NomLogiciel.s = "ProjetPB"
Global VersionLogiciel.s = "v1.0"
Global VersionPB.s = "E:\PureBasic\v4.20\PureBasic.exe"
AppPath = Space(200)
GetCurrentDirectory_(200, @AppPath)
AppPath = Trim(AppPath)
PathAddBackslash_(@AppPath)
UseJPEGImageDecoder()
Enumeration
#FormProjet
#ListViewPb
#TextPb
#TextFermer
#TextNomLogiciel
#ImageG
#ImageD
#FontArial12
EndEnumeration
Declare.s ProcessNameFromHwnd(hwnd)
Declare CheckWindowsProcess(HwndRequester, p)
Procedure.b CheckRunningExe(FileName.s)
Protected snap.l , Proc32.PROCESSENTRY32 , dll_kernel32.l
FileName = GetFilePart( FileName )
dll_kernel32 = OpenLibrary (#PB_Any, "kernel32.dll")
If dll_kernel32
snap = CallFunction (dll_kernel32, "CreateToolhelp32Snapshot",$2, 0)
If snap
Proc32\dwSize = SizeOf (PROCESSENTRY32)
If CallFunction (dll_kernel32, "Process32First", snap, @Proc32)
While CallFunction (dll_kernel32, "Process32Next", snap, @Proc32)
If PeekS (@Proc32\szExeFile)=FileName
CloseHandle_ (snap)
CloseLibrary (dll_kernel32)
ProcedureReturn #True
EndIf
Wend
EndIf
CloseHandle_ (snap)
EndIf
CloseLibrary (dll_kernel32)
EndIf
ProcedureReturn #False
EndProcedure
Procedure SendKey(Key.s)
; get virtual key code and shift state
VK.w = VkKeyScan_(Asc(Key))
If VK = -1
ProcedureReturn
EndIf
; get scan code if an extended key
If MapVirtualKey_(VK, 2) = 0
Extended.l = #KEYEVENTF_EXTENDEDKEY
; get scan code
Scan.l = MapVirtualKey_(VK, 0)
Else
Extended = 0
Scan = 0
EndIf
; press shift/ctrl/alt if needed
Shift.l = VK & $100
Ctrl.l = VK & $200
Alt.l = VK & $400
If Shift
keybd_event_(#VK_SHIFT, 0, 0, 0)
EndIf
If Ctrl
keybd_event_(#VK_CONTROL, 0, 0, 0)
EndIf
If Alt
keybd_event_(#VK_MENU, 0, 0, 0)
EndIf
; press and release key
VK & $ff
keybd_event_(VK, Scan, Extended, 0)
keybd_event_(VK, Scan, #KEYEVENTF_KEYUP | Extended, 0)
; release shift/ctrl/alt if pressed
If Shift
keybd_event_(#VK_SHIFT, 0, #KEYEVENTF_KEYUP, 0)
EndIf
If Ctrl
keybd_event_(#VK_CONTROL, 0, #KEYEVENTF_KEYUP, 0)
EndIf
If Alt
keybd_event_(#VK_MENU, 0, #KEYEVENTF_KEYUP, 0)
EndIf
EndProcedure
Procedure SendKeys(String.s)
For Letter.l = 1 To Len(String)
SendKey(Mid(String, Letter, 1))
Next
EndProcedure
ProcedureDLL FindHwndWindowByPartName(Part$)
r = GetWindow_(GetDesktopWindow_(),#GW_CHILD)
Repeat
t$ = Space(999)
GetWindowText_(r,t$,999)
If FindString(LCase(t$), LCase(part$),1) <> 0 And IsWindowVisible_(r) = #True
w = r
Else
r = GetWindow_(r, #GW_HWNDNEXT)
EndIf
Until r = 0 Or w <> 0
ProcedureReturn w
EndProcedure
Procedure CheckWindowsProcess(HwndRequester, p)
Protected ProcessPath.s = ProcessNameFromHwnd(HwndRequester)
Protected Caption.s = Space(255)
GetWindowText_(HwndRequester, @Caption, 255)
If FindString(UCase(Caption), "OUVRIR UN FICHIER...", 1) Or FindString(UCase(Caption), "CHOOSE A FILE TO OPEN...", 1)
SetForegroundWindow_(HwndRequester)
SendKeys(AppPath + Trim(FichierACharger))
keybd_event_(#VK_RETURN,0,0,0)
Delay(100)
EndIf
ProcedureReturn #True ; return 1 to continue the enumeration
EndProcedure
Procedure.s ProcessNameFromHwnd(hwnd)
Protected ProcessID
Protected hProcess
Protected hModule
Protected ProcessName.s = Space(#MAX_PATH)
Protected EnumProcessModules
Protected GetModuleFileNameEx
If OpenLibrary(0, "psapi.dll")
EnumProcessModules = GetFunction(0, "EnumProcessModules")
GetModuleFileNameEx = GetFunction(0, "GetModuleFileNameExA")
GetWindowThreadProcessId_(hwnd, @ProcessID)
hProcess = OpenProcess_(#PROCESS_QUERY_INFORMATION|#PROCESS_VM_READ, 0, ProcessID)
CallFunctionFast(EnumProcessModules, hProcess, @hModule, 1, 0)
CallFunctionFast(GetModuleFileNameEx, hProcess, hModule, @ProcessName, #MAX_PATH)
CloseHandle_(hProcess)
CloseLibrary(0)
EndIf
ProcedureReturn ProcessName
EndProcedure
OpenWindow(#FormProjet, 380, 113, 300, 300, NomLogiciel + " " + VersionLogiciel, #PB_Window_BorderLess)
SetWindowColor(#FormProjet, RGB(0, 128, 0))
Region = CreateEllipticRgn_(#FormProjet, 0, WindowWidth(#FormProjet), WindowHeight(#FormProjet))
SetWindowRgn_(WindowID(#FormProjet), Region, #True )
DeleteObject_(Region)
CreateGadgetList(WindowID(#FormProjet))
LoadFont(#FontArial12, "Arial", 12, #PB_Font_Bold)
TextGadget(#TextNomLogiciel, 68, 17, 150, 22, "KCC ProjetPB",#PB_Text_Center)
SetGadgetFont(#TextNomLogiciel, FontID(#FontArial12))
SetGadgetColor(#TextNomLogiciel, #PB_Gadget_FrontColor, RGB(237, 245, 18))
SetGadgetColor(#TextNomLogiciel, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#TextPb, 68, 40, 150, 22, "Choisissez votre projet",#PB_Text_Center)
SetGadgetColor(#TextPb, #PB_Gadget_FrontColor, RGB(255,255,255))
SetGadgetColor(#TextPb, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#TextFermer, 75, 273, 150, 22, "Quitter",#PB_Text_Center|#SS_NOTIFY)
SetGadgetColor(#TextFermer, #PB_Gadget_FrontColor, RGB(255,255,255))
SetGadgetColor(#TextFermer, #PB_Gadget_BackColor, RGB(0,128,0))
ListViewGadget(#ListViewPb, 66, 58, 165, 206)
ImageG = CatchImage(#ImageG, ?ImageDataG)
ImageGadget(#ImageG, 3, 120, 0, 580, ImageG)
ImageD = CatchImage(#ImageD, ?ImageDataD)
ImageGadget(#ImageD, 235, 120, 0, 580, ImageD)
UpdateWindow_(WindowID(#FormProjet))
UsedDirectory = ExamineDirectory(#PB_Any, AppPath, "*.*")
While NextDirectoryEntry(UsedDirectory)
NomElement.s = DirectoryEntryName(UsedDirectory)
If DirectoryEntryType(UsedDirectory) = #PB_DirectoryEntry_File
If Not FindString(NomElement,".pbi", 1) And FindString(UCase(NomElement), ".PB", 1) And Not FindString(UCase(NomElement), "PROJETSPB", 1)
AddGadgetItem(#ListViewPb, - 1, NomElement)
EndIf
EndIf
Wend
FinishDirectory(UsedDirectory)
Repeat
Evenement = WaitWindowEvent()
Select Evenement
Case #WM_LBUTTONDOWN
SendMessage_(WindowID(#FormProjet), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
Case #PB_Event_Gadget
EvenementGadget = EventGadget()
If EvenementGadget = #TextFermer
End
ElseIf EvenementGadget = #ListViewPb
FichierACharger = GetGadgetItemText(#ListViewPb, GetGadgetState(#ListViewPb), 0)
If Not CheckRunningExe("PureBasic.exe")
If FileSize(VersionPB) = - 1
RunProgram(#PB_Compiler_Home + "Purebasic.exe", "/PORTABLE", #PB_Compiler_Home)
Else
RunProgram(VersionPB, "/PORTABLE", GetPathPart(VersionPB))
EndIf
Delay(1000)
EndIf
HwndPb = FindHwndWindowByPartName("PureBasic")
If IsIconic_(HwndPb)
SendMessage_(HwndPb,#SW_SHOWNORMAL,0,0)
ShowWindow_(HwndPb,#SW_RESTORE)
ShowWindow_(HwndPb,#SW_SHOW)
EndIf
SetForegroundWindow_(HwndPb)
; Ouverture du selecteur de fichier par la methode sendkey
keybd_event_(#VK_CONTROL,0,0,0)
keybd_event_($4F,0,0,0)
keybd_event_(#VK_CONTROL,0,#KEYEVENTF_KEYUP,0)
Delay(100)
EnumWindows_(@CheckWindowsProcess(), 1)
ReadFile(1, AppPath + FichierACharger)
Repeat
LigneCode$ = ReadString(1)
If FindString(LigneCode$, "IncludeFile", 1)
SetForegroundWindow_(HwndPb)
FichierACharger = ReplaceString(LigneCode$, "IncludeFile", "")
FichierACharger = ReplaceString(FichierACharger, Chr(34), "")
; Ouverture du selecteur de fichier par la methode sendkey
keybd_event_(#VK_CONTROL,0,0,0)
keybd_event_($4F,0,0,0)
keybd_event_(#VK_CONTROL,0,#KEYEVENTF_KEYUP,0)
Delay(100)
EnumWindows_(@CheckWindowsProcess(), 1)
EndIf
Until Eof(1) <> 0
CloseFile(1)
EndIf
Break
EndSelect
Until Evenement = #PB_Event_CloseWindow
End
DataSection
ImageDataD :
;*********
Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,72,0,72,0,0,-1,-37,0,67,0,8,6,6,7,6,5,8,7,7,7,9,9,8,10,12,20,13,12,11,11,12
Data.b 25,18,19,15,20,29,26,31,30,29,26,28,28,32,36,46,39,32,34,44,35,28,28,40,55,41,44,48,49,52,52,52,31,39,57,61,56,50,60
Data.b 46,51,52,50,-1,-37,0,67,1,9,9,9,12,11,12,24,13,13,24,50,33,28,33,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50
Data.b 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,-1,-64,0,17,8,0
Data.b 63,0,59,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16
Data.b 0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63
Data.b 21,82,-47,-16,36,51,98,114,-126,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84
Data.b 85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118
Data.b -110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62
Data.b -61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13
Data.b -12,-11,-10,-9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2
Data.b 4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16
Data.b 21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87
Data.b 88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118
Data.b -110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70
Data.b -62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12
Data.b -11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0,-75,-32,-71,96,-46,52,-63,123,-80,125,-86,-27,-104,121,-124,114
Data.b 16,28,96,126,57,-82,-122,125,110,-26,64,94,-34,86,-35,-35,9,-21,-12,-82,106,-38,-34,72,116,29,51,-116,-81,-112,28,-111
Data.b -37,113,45,-2,20,-47,59,70,122,-12,-11,21,-59,79,-35,-126,72,-41,5,73,66,-116,82,93,13,27,-113,20,-22,16,-95,105,22,85
Data.b 76,-32,-102,-117,-2,19,91,-120,-41,62,107,96,117,-25,-91,83,-2,-48,-36,-28,57,-50,59,-118,-95,-88,-63,111,36,113,24,-95
Data.b 88,-27,-28,54,-45,-43,-69,113,-100,0,122,96,99,-100,82,115,107,-87,-35,41,66,10,-14,55,-32,-15,-76,-73,3,42,-52,8,28,100
Data.b -11,-89,-81,-115,101,99,-27,-69,22,86,4,16,78,65,30,-11,-54,64,-15,-96,80,112,49,-45,-116,-102,-106,-18,6,12,-9,8,0,13
Data.b -119,8,-49,56,61,79,-48,28,-113,-53,-81,90,92,-19,14,112,-90,-83,126,-91,93,123,77,-74,-116,125,-70,-59,-126,-64,-51,-75
Data.b -31,-2,-31,61,8,-10,63,-89,-27,88,-96,-100,116,-82,-122,45,-105,81,-75,-76,-124,-31,-58,-48,113,-48,-10,63,-99,115,-28
Data.b 121,108,81,-57,-52,-92,-125,92,56,-104,40,-54,-15,62,71,56,-63,-3,90,-83,-30,-76,103,89,-10,-21,-113,-80,105,-9,22,-83
Data.b -73,22,-87,11,99,-71,65,-76,-126,63,12,-2,53,98,41,-83,-11,13,-63,8,73,-108,124,-47,-114,-121,-35,127,-62,-71,43,13,66
Data.b 109,62,115,36,74,-110,35,2,-81,20,-96,-108,113,-17,-126,15,-30,57,-83,-37,107,107,109,82,54,-102,-59,-116,109,24,44
Data.b -42,-18,-39,112,125,-67,71,-31,-102,-24,-93,87,-104,-10,-14,-52,-62,-115,120,42,51,-46,72,124,-47,-108,-111,-72,-63,39
Data.b -14,-86,-5,-73,73,-119,0,32,122,-116,-29,63,-25,-4,42,113,112,110,45,101,123,-59,-56,-127,119,23,-116,97,-56,-50,49,-41
Data.b 28,113,-41,-109,-51,58,59,104,-34,40,-90,-118,-30,57,35,-105,-18,-20,-5,-39,-12,35,-79,-6,-42,-82,75,84,-49,66,-92,-88
Data.b -87,58,53,31,65,33,-47,100,119,105,-46,69,-112,-79,-50,115,-48,-15,-111,-50,123,-1,0,-98,-108,106,-74,87,-48,-37,-39,-53
Data.b 21,-74,-15,11,-69,56,94,120,59,120,32,30,-8,63,-99,105,67,115,-93,-119,-26,-122,27,-69,-113,-110,66,-84,21,84,116,-22,121
Data.b 108,109,-9,-6,-5,102,-107,-25,-119,-20,-83,-18,29,45,99,-72,-72,85,99,-119,29,-126,-122,-4,-71,-59,76,-36,57,117,103,-103
Data.b -115,-59,83,-99,46,71,61,58,119,-48,-52,77,75,76,-13,124,-17,42,-30,44,-99,-58,21,33,-128,-10,12,127,-97,95,-83,100,-35,77
Data.b -10,-101,-71,103,49,32,-13,28,-74,49,-100,100,-12,-90,77,43,79,115,44,-17,-115,-14,57,118,-64,-57,36,-26,-103,92,18,-88
Data.b -34,-121,-49,-30,49,-75,-79,22,83,-106,-120,58,115,78,73,30,57,4,-111,-69,35,-114,67,41,-63,20,-38,43,52,-20,113,39,103
Data.b 116,105,-99,67,83,-43,85,108,60,-60,117,99,-109,-124,84,45,-127,-100,-77,96,19,-113,115,77,-2,-58,-72,15,-14,72,-116,-68
Data.b -4,-61,119,-14,-64,63,-91,67,-91,-112,53,8,-1,0,120,-15,-100,29,-123,14,9,108,112,62,-107,30,-93,-89,106,-13,-54,-26,-44
Data.b 91,-60,-51,-112,54,-55,39,-82,79,25,-64,-21,93,-40,122,74,-86,110,108,-11,-16,116,-106,37,57,85,109,-65,82,-36,-102,21
Data.b -46,-29,107,-60,-7,-20,9,92,127,-33,64,85,121,52,-21,-56,-48,-77,-37,-66,-47,-44,-88,-56,31,-107,81,-117,73,-15,92,75,-76
Data.b 106,16,-88,60,18,-60,-1,0,74,-38,-48,-20,53,120,110,21,-81,47,-30,42,27,-18,64,-71,46,48,127,-120,-98,14,70,48,70,61,-5
Data.b 86,-77,-63,-62,-37,-99,21,50,-54,86,110,45,-93,32,14,-12,-20,-44,-9,-13,53,-58,-95,113,51,-62,-80,-77,57,-35,26,-1,0,9
Data.b -24,106,-67,121,-49,71,100,120,50,86,-109,65,69,20,84,-110,92,-46,96,-122,-29,84,-126,43,-116,121,68,-110,65,56,7,3,-127
Data.b -6,86,-82,-89,96,-73,73,-5,-101,-5,123,88,88,-25,59,84,-97,65,-125,-7,-15,91,62,2,-47,-12,-19,86,-34,-24,-70,-84,-105,-79
Data.b -80,37,93,114,21,58,2,15,78,78,107,-96,-69,-8,109,-93,-33,72,36,-71,-76,89,27,31,120,-73,65,-24,43,-42,-63,-45,-27,-123
Data.b -5,-97,67,-105,82,113,-89,-51,-36,-14,-79,-31,116,-35,-72,120,-114,66,122,112,-32,-42,-33,-39,-89,-45,108,38,-98,43,-13
Data.b -67,21,72,42,-95,73,-32,14,-3,121,31,-41,-95,-82,-72,-4,39,-16,-1,0,-16,-40,-127,-12,115,87,37,-16,110,-105,99,-91,-79
Data.b -71,71,123,75,85,103,-61,49,109,-117,-44,-29,-67,111,82,45,-59,-40,-20,-81,23,42,109,71,115,-55,9,39,-110,114,79,90,90
Data.b 67,-126,78,-33,-69,-98,62,-108,-93,-91,120,76,-7,57,110,127,-1,-39
ImageDataG :
;*********
Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,72,0,72,0,0,-1,-37,0,67,0,8,6,6,7,6,5,8,7,7,7,9,9,8,10,12,20,13,12,11,11,12,25,18
Data.b 19,15,20,29,26,31,30,29,26,28,28,32,36,46,39,32,34,44,35,28,28,40,55,41,44,48,49,52,52,52,31,39,57,61,56,50,60,46,51,52,50
Data.b -1,-37,0,67,1,9,9,9,12,11,12,24,13,13,24,50,33,28,33,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50
Data.b 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,-1,-64,0,17,8,0,63,0,59,3,1,34,0,2,17,1,3
Data.b 17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1
Data.b 125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9
Data.b 10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102
Data.b 103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105
Data.b -104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54
Data.b -46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-60,0
Data.b 31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3
Data.b 17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37
Data.b -15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104
Data.b 105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104
Data.b -103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46
Data.b -45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17
Data.b 3,17,0,63,0,-28,-20,108,-38,-2,-11,45,-60,-117,24,57,44,-19,-47,84,114,77,119,86,58,-35,-73,-121,-20,-59,-83,-126,-108
Data.b 82,114,-19,-4,76,125,78,61,-65,42,-27,116,-72,-106,27,55,-70,111,-67,33,42,-98,-54,58,-44,-22,26,-26,70,25,27,0,44,-28
Data.b -12,-57,111,-49,-91,121,56,120,-88,67,-101,-87,-106,81,-125,-116,40,-3,98,-95,-42,127,-62,101,57,-115,-100,-69,96,123,-43
Data.b 113,-29,-87,-92,102,10,-20,49,-44,103,-102,-61,-100,-92,11,28,47,-123,104,-41,4,117,-7,-113,39,-97,-81,31,-121,122,-83
Data.b 111,4,114,93,-93,72,62,66,-64,99,56,30,-28,-5,99,31,-104,-83,-7,-35,-82,123,51,-10,80,-121,59,58,120,-4,93,121,44,-37,33
Data.b 105,36,114,58,2,77,105,91,107,-70,-124,-33,52,-114,-15,39,114,79,39,-23,92,-7,-71,-122,0,-62,24,-124,105,-100,-86,14,-61
Data.b -36,-11,39,-21,74,111,90,69,7,118,106,-93,38,-59,36,-74,72,-23,-18,117,-117,123,-5,83,97,118,-66,109,-68,-65,43,43,125
Data.b 122,-3,123,-41,-111,-36,-60,109,-82,-90,-128,-11,-115,-39,63,35,-118,-18,33,18,73,34,-19,4,-112,115,-128,58,87,39,-30
Data.b 104,-116,30,36,-65,77,-53,-52,-91,-121,61,-101,-97,-21,92,-8,-75,-52,-109,62,123,57,-94,-83,25,36,88,-125,81,-76,-5,4,54
Data.b -9,11,44,111,22,70,-24,-64,33,-127,57,31,66,51,83,-38,23,-65,-44,44,-42,-58,-55,-59,-67,-68,-86,-46,57,57,47,-13,100,-106
Data.b -24,6,7,97,88,29,70,43,119,75,-15,10,-40,-39,-57,107,52,12,-23,25,59,90,54,-38,112,78,121,29,-21,-98,-99,75,-76,-92,-12
Data.b 56,-88,-29,-89,56,-86,53,103,104,-93,82,-29,70,-98,98,-63,-107,49,-110,115,-100,3,-49,95,90,-94,-48,11,68,88,-73,-84,-84
Data.b -128,97,-74,-13,-17,-41,-33,-45,3,-12,-58,-36,122,-114,-109,113,104,-109,-117,-69,-108,12,48,-30,64,-72,67,-24,-36,-25
Data.b -14,6,-88,-68,86,119,105,111,37,-108,-52,99,-107,127,-27,-78,-123,33,-78,114,14,15,95,-14,43,-75,-72,-23,102,125,45,60,77
Data.b 42,-42,83,-110,-14,42,38,-25,-58,114,114,58,-98,-11,-93,12,49,-59,111,-25,76,-30,56,-44,114,-57,-65,-45,-42,-87,-59,-10
Data.b 104,-26,-99,99,117,-72,-106,-40,110,124,115,17,-25,24,4,16,79,-41,-91,11,111,54,-93,28,-105,119,19,36,81,-62,126,-13,124
Data.b -85,-113,76,15,-14,105,-13,39,-86,58,105,-44,-89,82,46,105,-5,-85,-87,51,-33,79,116,-21,13,-88,41,110,-60,13,-128,-14,-57
Data.b -43,-113,-83,115,-66,38,117,-67,-15,13,-44,-56,112,-93,100,99,29,14,-60,9,-97,-4,118,-84,94,-22,-56,96,123,75,8,-68,-88
Data.b 24,-4,-13,55,50,73,-19,-24,23,-40,115,-22,77,100,-116,87,29,90,-35,17,-13,57,-82,99,10,-51,66,-110,-47,117,3,-51,75,5,-84
Data.b -9,4,-120,98,121,8,-21,-76,103,21,23,-29,-118,-34,2,-18,-13,64,-128,91,-56,44,-52,89,64,118,6,89,0,7,-100,100,115,-98,-71
Data.b 63,79,74,-50,-115,53,82,86,108,-13,48,-76,21,105,-14,-73,99,61,116,107,-57,35,114,34,3,-35,-104,113,-8,14,127,74,-110,77
Data.b 18,-23,56,18,35,-5,-82,-32,63,80,43,49,-76,-65,20,-14,18,-2,-44,110,-32,-86,49,-64,-3,41,-111,104,-2,34,73,9,-72,-98,41,81
Data.b -72,0,-69,14,127,-32,36,87,122,-63,-64,-10,99,-106,-47,-113,86,-51,113,21,-18,-118,86,-14,9,99,35,38,54,96,55,14,115,-63
Data.b 12,57,28,122,17,85,111,47,-18,111,-104,27,-119,119,1,-56,69,80,-88,62,-118,56,21,110,-19,100,77,33,22,124,70,-5,-14,-111
Data.b -58,-60,-85,30,-28,-25,39,-113,90,-54,-82,26,-53,-110,78,41,-24,121,88,-90,-23,73,-46,-125,-9,123,92,94,-40,-94,-118,43,3
Data.b -124,59,-42,-66,-116,-45,79,-25,91,125,-88,-92,74,-91,-10,-15,-125,-49,60,117,63,65,89,61,-21,-72,-16,38,-117,97,-85,-39
Data.b -50,-52,-124,-34,-63,38,-30,-35,54,-87,3,110,59,117,6,-73,-61,38,-22,36,-114,-52,12,101,42,-55,68,-27,47,124,57,-25,-54
Data.b 11,-21,111,9,-38,-93,106,-31,7,3,25,-6,-5,-12,-12,-89,-23,-6,39,-39,38,83,30,-71,28,-4,-14,-78,-123,115,-114,-11,-24,83
Data.b -4,48,-47,-18,-25,105,-18,32,105,-92,114,75,59,-56,73,39,-34,-111,62,20,-8,125,48,87,79,76,-113,86,-81,101,35,-23,-114,47
Data.b 92,-73,-75,77,62,25,99,49,-3,-95,36,-14,-37,107,3,-111,-126,121,-6,113,88,53,-21,-9,-34,19,-46,-83,52,-69,-119,47,17,69,-76
Data.b 72,89,-28,32,-77,32,-11,29,-21,-56,14,50,112,73,29,-77,94,86,50,28,-77,-65,115,-25,-77,42,78,21,57,-69,-123,20,81,92,-121,-100,127,-1,-39
EndDataSection
