RbBFBlokProjݯM1PSIVStrn5.2OPSpStrnSocket Test From Kevin.rbACnmStrnACpwStrnACsvStrnlocalhost:7325Ver1Int Ver2Int Ver3Int RelsInt NnRlInt SVerStrnLVerStrnIVerStrnRegnInt DVewInt 4DLanInt CLanInt DEncInt TargInt BflgInt IconGrupEndGInt CPalGrupflagInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt EndGInt MacCStrn????BMacStrnMy ApplicationBCarStrnMy Application (Mac OS X) 5.5a1BSizInt @BMSzInt MDIcStrnMy ApplicationBWinStrnMy Application 5.5a1.exeBMDIInt rEdtRect=fTypGrupLnameStrntextMacCStrnR*chtypeStrnTEXTdefnStrnflagInt EndGInt fTypGrup nameStrn special/anyMacCStrn????typeStrn????defnStrnflagInt IconGrupelemGrupLtypeInt icm#dataStrn0OOȃW# #????????????EndGInt elemGruptypeInt icm8dataStrn+V+++V++V+VVVVV+++EndGInt elemGruptypeInt s8mkdataStrn%<999'9>9D9I9N9N9N9N9N9N;P=CEndGInt elemGruptypeInt is32dataStrn }}} EndGInt elemGruptypeInt l8mkdataStrn 1 AZAAAAA4AA A,A@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB778BAAAAAAAAAAAAAAAAAAB8EndGInt elemGruptypeInt il32dataStrnEndGInt elemGrup\typeInt ich#dataStrn@" "@H?A"_D @!e$$AI! H  @@@@@@EndGInt elemGrup typeInt h8mkdataStrn  . 3Z 33 3\ 33 3Z 33 3303C 3J3L3L3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3M3L1I%Itz[6 .3333333333333333333333333333331%  EndGInt elemGrup typeInt ich8dataStrn ++++++++++++++V++V++++++V+V+++++++VVVVVV+++++++++++++++EndGInt elemGrup$typeInt ih32dataStrn$&&&KKKJJJJJJJJJJJJJJJJJJIIIIIIHHHHHHGGGGGGFFFFFFEEECCC@@@>>>>>>444qqqqqqfffqqq rrrrrrcccrrr sssssscccttt tttrrrtttvvvuuuuuutttvvv|||]]]uuuKKKvvvvvvwwwwwwxxxxxxyyyzzz{{{{{{|||||||||{{{{{{zzzyyyxxxwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxEndGInt elemGrup@typeInt t8mkdataStrn@    E   9  ,n  %6|  *>Y .EZ 1I[ 3KZ 3LZ 3LZ 3M[ 3M[ 3M[ 3M\ 3M\ 3M\ 3M\ 3M\ 3M\ 3M\ 3M[ 3M[ 3M[ 3M[ 3MZ 3MZ 3MZ 3MZ 3MY 3MG 3M'3M$ 3MD 3M' 3M03M7# 3M>( 3MC, 3MG/3MI13MJ23MK33ML33ML33ML33ML33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33MM33LL33LL33KK31II1.EE. *>>*  %6I[itz~~zti[I6%  ,;IU]befffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb]UI;,   ,6>EIKLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLKIE>6,  %*.133333333333333333333333333333333333333333333333333333333333333333333333333333331.*%    EndGInt elemGruptypeInt it32dataStrn~~~aaakkkkkkkkkjjjiiiiiiiiihhhhhhhhhgggggggggggggggggghhhhhhhhhhhhiiivvvnnnnnniii{{{sssllliiifffddddddeeegggiiimmmppptttiiixxxsssnnnllljjjjjjkkklllnnnqqqsssvvvzzzkkkzzzwwwtttsssssssssttttttvvvyyy|||~~~kkk~~~|||}}}}}}}}}bbbHHHEndGInt elemGrup\typeInt ics#dataStrn@GC3???????????????EndGInt elemGruptypeInt ICN#dataStrn?EndGInt elemGruptypeInt ics8dataStrn+V+++V++V+VVVVV+++EndGInt elemGruptypeInt icl8dataStrn+++++++++V++++++++++V+V+++++VV++++++++++EndGInt EndGInt EndGInt PadnPadn@****************************************************************BlokpVew4'nsNameStrnWindow1ContInt rEdtRect ,FeSptInt bPGpGrupbPElGrup4scKyInt rEdtRect ,FeSptInt EndGInt bPElGrup4scKyInt rEdtRect ,FeSptInt EndGInt EndGInt lstHInt lstVInt PDefGrup4nameStrnNamePValStrnWindow1EncoInt EndGInt PDefGrup(nameStrnFramePValStrn0EndGInt PDefGrup0nameStrn CompositePValStrnFalseEndGInt PDefGrup0nameStrn HasBackColorPValStrnFalseEndGInt PDefGrup0nameStrn BackColorPValStrn16777215EndGInt PDefGrup(nameStrnBackdropPValStrn0EndGInt PDefGrup<nameStrnTitlePValStrn Socket TestEncoInt EndGInt PDefGrup(nameStrnVisiblePValStrnTrueEndGInt PDefGrup0nameStrn FullScreenPValStrnFalseEndGInt PDefGrup0nameStrnMenuBarVisiblePValStrnTrueEndGInt PDefGrup,nameStrnCloseBoxPValStrnFalseEndGInt PDefGrup,nameStrnGrowIconPValStrnFalseEndGInt PDefGrup0nameStrn LiveResizePValStrnFalseEndGInt PDefGrup,nameStrnZoomIconPValStrnFalseEndGInt PDefGrup(nameStrn BalloonHelpPValStrnEndGInt PDefGrup,nameStrn MacProcIDPValStrn0EndGInt PDefGrup0nameStrnMenuBarPValStrn -1154181492EndGInt PDefGrup,nameStrn PlacementPValStrn2EndGInt PDefGrup(nameStrnWidthPValStrn300EndGInt PDefGrup(nameStrnHeightPValStrn241EndGInt PDefGrup(nameStrnMinWidthPValStrn64EndGInt PDefGrup,nameStrn MinHeightPValStrn64EndGInt PDefGrup,nameStrnMaxWidthPValStrn32000EndGInt PDefGrup0nameStrn MaxHeightPValStrn32000EndGInt FDefGrupNameStrnWindow1SizeInt SuprStrnWindowbNtrInt PropGrup8EncoInt declStrnf As FolderItemflagInt EndGInt PropGrup<EncoInt declStrnbs As BinaryStreamflagInt EndGInt PropGrup@EncoInt declStrnpFirstPacket As BooleanflagInt EndGInt PropGrup<EncoInt declStrnfileSize As IntegerflagInt EndGInt PropGrupDEncoInt declStrnfileStream As BinaryStreamflagInt EndGInt PropGrup<EncoInt declStrntotalSent As IntegerflagInt EndGInt PropGrup8EncoInt declStrnpMD5 As StringflagInt EndGInt PropGrup8EncoInt declStrnhash As StringflagInt EndGInt MethGrup EncoInt nameStrnDoSendparmStrnrsltStrnflagInt sorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn Sub DoSend()srclStrnbs = f.OpenAsBinaryFile(False)srclStrnDim m As MemoryBlocksrclStrnm = NewMemoryBlock(4)srclStrnm.Long(0) = bs.LengthsrclStrn$SendSocket.Write m.StringValue(0, 4)srclStrn'SendSocket.Write Chr(LenB(hash)) + hashsrclStrn%SendSocket.Write bs.Read(1024*1024*2)srclStrnSendStatus.Text = "Sending"srclStrnEnd SubEndGInt EndGInt EndGInt CBhvGrupNameStrnSizeInt SuprStrn PushButtonbNtrInt HInsGrupDEncoInt nameStrnActionsorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn Sub Action()srclStrnDim file As FolderItemsrclStrnDim od As OpenDialogsrclStrnsrclStrnod = New OpenDialogsrclStrn*od.PromptText = "Select file to transfer:"srclStrnod.Filter = "special/any"srclStrnfile = od.ShowModalWithin(self)srclStrn#If file <> nil And file.Exists ThensrclStrnf = filesrclStrnSendStatus.Text = "Hashing"srclStrnMD5SendThread.RunsrclStrnEnd IfsrclStrnEnd SubEndGInt EndGInt EndGInt CBhvGrupNameStrnSizeInt SuprStrn PushButtonbNtrInt HInsGrupEncoInt nameStrnActionsorcGrupstsrInt stscInt !ndsrInt ndscInt !EncoInt srclStrn Sub Action()srclStrnIf SendSocket.IsConnected ThensrclStrnSendSocket.ClosesrclStrnEnd IfsrclStrnsrclStrnSendSocket.Port = SocketPortsrclStrn(SendSocket.Address = IPSheet.ShowModal()srclStrnSendSocket.ConnectsrclStrn!SendStatus.Text = "Connecting..."srclStrnEnd SubEndGInt EndGInt EndGInt CBhvGrupNameStrnSizeInt SuprStrn PushButtonbNtrInt HInsGrup<EncoInt nameStrnActionsorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn Sub Action()srclStrnIf SendSocket.IsConnected ThensrclStrnSendSocket.ClosesrclStrnEnd IfsrclStrnsrclStrn SendStatus.Text = "Disconnected"srclStrnEnd SubEndGInt EndGInt EndGInt CBhvGrup@NameStrnSizeInt SuprStrn StaticTextbNtrInt EndGInt CBhvGrup@NameStrnSizeInt SuprStrn StaticTextbNtrInt EndGInt CBhvGrup@NameStrnSizeInt SuprStrn StaticTextbNtrInt EndGInt CBhvGrup@NameStrnSizeInt pSuprStrn SeparatorbNtrInt EndGInt CBhvGrupNameStrnSizeInt SuprStrn PushButtonbNtrInt HInsGrupEncoInt nameStrnActionsorcGrupPstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn Sub Action()srclStrn If ListenSocket.IsConnected ThensrclStrnListenSocket.ClosesrclStrnEnd IfsrclStrnsrclStrnListenSocket.Port = SocketPortsrclStrnListenSocket.ListensrclStrnListenStatus.Text = "Listening"srclStrnEnd SubEndGInt EndGInt EndGInt CBhvGrup@NameStrnSizeInt SuprStrn StaticTextbNtrInt EndGInt CBhvGrup@NameStrnSizeInt SuprStrn StaticTextbNtrInt EndGInt CBhvGrup@NameStrnSizeInt SuprStrn StaticTextbNtrInt EndGInt CBhvGrup NameStrnSizeInt xSuprStrn SubSocketbNtrInt HInsGrup<EncoInt nameStrn SendCompletesorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn(Sub SendComplete(userAborted as Boolean)srclStrnDim speed As DoublesrclStrnsrclStrnIf NOT bs.EOF ThensrclStrnme.Write bs.Read(1024*1024*2)srclStrnElsesrclStrnbs.ClosesrclStrnbs = nilsrclStrnme.ClosesrclStrn SendStatus.Text = "Disconnected"srclStrn 1024*1024 ThensrclStrnGSendSpeed.Text = Format(speed / (1024*1024), "-#.0#") + " MB/sec (Avg)"srclStrnElsesrclStrn@SendSpeed.Text = Format(speed / 1024, "-#.0#") + " kB/sec (Avg)"srclStrnEnd IfsrclStrnEnd IfsrclStrnEnd SubEndGInt EndGInt HInsGrup EncoInt nameStrn SendProgresssorcGrupstsrInt stscInt 1024*1024 ThensrclStrnESendSpeed.Text = Format(byteSpeed / (1024*1024), "-#.0#") + " MB/sec"srclStrnElsesrclStrn>SendSpeed.Text = Format(byteSpeed / 1024, "-#.0#") + " kB/sec"srclStrnEnd IfsrclStrnsrclStrn!totalSent = totalSent + bytesSentsrclStrnsrclStrnuSendSize.Text = Format(totalSent / (1024*1024), "-#.0#") + " MB / " + Format(f.Length / (1024*1024), "-#.0#") + " MB"srclStrn 1024*1024 ThensrclStrnGSendSpeed.Text = Format(speed / (1024*1024), "-#.0#") + " MB/sec (Avg)"srclStrnElsesrclStrn@SendSpeed.Text = Format(speed / 1024, "-#.0#") + " kB/sec (Avg)"srclStrnEnd IfsrclStrnEnd SubEndGInt EndGInt HInsGrupEncoInt nameStrn ConnectedsorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnSub Connected()srclStrnSendStatus.Text = "Connected"srclStrn totalSent = 0srclStrnEnd SubEndGInt EndGInt EndGInt CBhvGrup NameStrnSizeInt xSuprStrn SubSocketbNtrInt HInsGrupEncoInt nameStrn SendCompletesorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn(Sub SendComplete(userAborted as Boolean)srclStrnsrclStrnEnd SubEndGInt EndGInt HInsGrupEncoInt nameStrn DataAvailablesorcGrup|stsrInt stscInt >ndsrInt ndscInt >EncoInt srclStrn'Sub DataAvailable(bytesSpeed As Double)srclStrnListenStatus.Text = "Receiving"srclStrnIf bytesSpeed > 1024*1024 ThensrclStrnHListenSpeed.Text = Format(bytesSpeed / (1024*1024), "-#.0#") + " MB/sec"srclStrnElsesrclStrnAListenSpeed.Text = Format(bytesSpeed / 1024, "-#.0#") + " kB/sec"srclStrnEnd IfsrclStrnsrclStrnDim m As MemoryBlocksrclStrnDim i As Integer, md As StringsrclStrnsrclStrnIf NOT pFirstPacket ThensrclStrnm = NewMemoryBlock(4)srclStrnm.StringValue(0,4) = me.Read(4)srclStrnfileSize = m.Long(0)srclStrni = Asc(me.Read(1))srclStrnmd = me.Read(i)srclStrn pMD5 = mdsrclStrnpFirstPacket = TruesrclStrnEnd IfsrclStrnsrclStrnDim s As StringsrclStrnsrclStrns = me.ReadAllsrclStrnsrclStrnfileStream.Write ssrclStrnListenSize.Text = Format(fileStream.Length / (1024*1024), "-#.0#") + " MB / " + Format(fileSize / (1024*1024), "-#.0#") + " MB"srclStrn>ListenTime.Text = Format(Ticks - me.origTime, "-#") + " Ticks"srclStrnEnd SubEndGInt EndGInt HInsGrup EncoInt nameStrn SendProgresssorcGrup stsrInt stscInt ndsrInt ndscInt EncoInt srclStrnaFunction SendProgress(bytesSent as Integer, bytesLeft as Integer, byteSpeed As Double) As BooleansrclStrnsrclStrn End FunctionEndGInt  EndGInt  HInsGrup EncoInt nameStrn ConnectedsorcGrupP stsrInt stscInt 'ndsrInt ndscInt 'EncoInt srclStrnSub Connected()srclStrnListenStatus.Text = "Connected"srclStrnpFirstPacket = FalsesrclStrnsrclStrnDim f As FolderItemsrclStrnsrclStrnf = GetTemporaryFolderItemsrclStrn'fileStream = f.CreateBinaryFile("text")srclStrnEnd SubEndGInt  EndGInt  HInsGrup EncoInt nameStrnErrorsorcGrupstsrInt stscInt >ndsrInt ndscInt >EncoInt srclStrn Sub Error()srclStrnDim s As StringsrclStrnDim speed As DoublesrclStrnsrclStrn8speed = fileStream.Length / ((Ticks - me.origTime) / 60)srclStrnIf speed > 1024*1024 ThensrclStrnIListenSpeed.Text = Format(speed / (1024*1024), "-#.0#") + " MB/sec (Avg)"srclStrnElsesrclStrnBListenSpeed.Text = Format(speed / 1024, "-#.0#") + " kB/sec (Avg)"srclStrnEnd IfsrclStrnsrclStrnIf me.LastErrorCode = 102 ThensrclStrn#'ListenStatus.Text = "Disconnected"srclStrnfileStream.Position = 0srclStrn,ListenStatus.Text = "Disconnected (Hashing)"srclStrnMD5ListenThread.RunsrclStrnElsesrclStrn5ListenStatus.Text = "Error: " + Str(me.LastErrorCode)srclStrnEnd IfsrclStrn>ListenTime.Text = Format(Ticks - me.origTime, "-#") + " Ticks"srclStrnEnd SubEndGInt EndGInt  EndGInt CBhvGrup\NameStrnSizeInt (SuprStrnThreadbNtrInt HInsGrupEncoInt nameStrnRunsorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn Sub Run()srclStrnDim md As MD5DigestsrclStrnsrclStrnmd = New MD5DigestsrclStrnsrclStrnbs = f.OpenAsBinaryFile(False)srclStrnsrclStrnWhile NOT bs.EOFsrclStrn1md.Process bs.Read(1024*1024*5) // 5 MB at a timesrclStrnWendsrclStrnsrclStrnbs.ClosesrclStrnsrclStrnhash = md.ValuesrclStrnsrclStrnDoSendsrclStrnEnd SubEndGInt EndGInt EndGInt CBhvGrupNameStrnSizeInt (SuprStrnThreadbNtrInt HInsGruplEncoInt nameStrnRunsorcGrup4stsrInt stscInt ndsrInt ndscInt EncoInt srclStrn Sub Run()srclStrnDim md As MD5DigestsrclStrnsrclStrnmd = New MD5DigestsrclStrnsrclStrnWhile NOT fileStream.EOFsrclStrn9md.Process fileStream.Read(1024*1024*5) // 5 MB at a timesrclStrnWendsrclStrnsrclStrnfileStream.ClosesrclStrnsrclStrnIf pMD5 = md.Value ThensrclStrn-ListenStatus.Text = "Disconnected (Verified)"srclStrnElsesrclStrn.ListenStatus.Text = "Disconnected (Corrupted)"srclStrnEnd IfsrclStrnEnd SubEndGInt EndGInt EndGInt CBhvGrup@NameStrnSizeInt SuprStrn StaticTextbNtrInt EndGInt CBhvGrup@NameStrnSizeInt SuprStrn StaticTextbNtrInt EndGInt CtrlGrup8cclsStrn PushButtonnameStrn PushButtonPDefGrup8nameStrnNamePValStrn SendButtonEncoInt EndGInt PDefGrup0nameStrnIndexPValStrn -2147483648EndGInt PDefGrup0nameStrn TabPanelIndexPValStrn0EndGInt PDefGrup(nameStrnVisiblePValStrnTrueEndGInt PDefGrup$nameStrnLeftPValStrn20EndGInt PDefGrup$nameStrnTopPValStrn48EndGInt PDefGrup(nameStrnWidthPValStrn90EndGInt PDefGrup(nameStrnHeightPValStrn20EndGInt PDefGrup, nameStrn InitialParentPValStrnEndGInt  PDefGrup$!nameStrnHelpTagPValStrnEndGInt !PDefGrup("nameStrn BalloonHelpPValStrnEndGInt "PDefGrup0#nameStrnDisabledBalloonHelpPValStrnEndGInt #PDefGrup0$nameStrnAutoDeactivatePValStrnTrueEndGInt $PDefGrup,%nameStrnLockLeftPValStrnFalseEndGInt %PDefGrup,&nameStrnLockTopPValStrnFalseEndGInt &PDefGrup0'nameStrn LockRightPValStrnFalseEndGInt 'PDefGrup0(nameStrn LockBottomPValStrnFalseEndGInt (PDefGrup8)nameStrnTextFontPValStrnSystemEncoInt EndGInt )PDefGrup(*nameStrnTextSizePValStrn12EndGInt *PDefGrup(+nameStrnBoldPValStrnFalseEndGInt +PDefGrup,,nameStrnItalicPValStrnFalseEndGInt ,PDefGrup0-nameStrn UnderlinePValStrnFalseEndGInt -PDefGrup<.nameStrnCaptionPValStrn Send FileEncoInt EndGInt .PDefGrup,/nameStrnDefaultPValStrnFalseEndGInt /PDefGrup,0nameStrnCancelPValStrnFalseEndGInt 0PDefGrup(1nameStrnEnabledPValStrnTrueEndGInt 1CBixInt EndGInt CtrlGrup82cclsStrn PushButtonnameStrn PushButtonPDefGrup<3nameStrnNamePValStrn ConnectButtonEncoInt EndGInt 3PDefGrup04nameStrnIndexPValStrn -2147483648EndGInt 4PDefGrup05nameStrn TabPanelIndexPValStrn0EndGInt 5PDefGrup(6nameStrnVisiblePValStrnTrueEndGInt 6PDefGrup$7nameStrnLeftPValStrn20EndGInt 7PDefGrup$8nameStrnTopPValStrn16EndGInt 8PDefGrup(9nameStrnWidthPValStrn90EndGInt 9PDefGrup(:nameStrnHeightPValStrn20EndGInt :PDefGrup,;nameStrn InitialParentPValStrnEndGInt ;PDefGrup$nameStrnDisabledBalloonHelpPValStrnEndGInt >PDefGrup0?nameStrnAutoDeactivatePValStrnTrueEndGInt ?PDefGrup,@nameStrnLockLeftPValStrnFalseEndGInt @PDefGrup,AnameStrnLockTopPValStrnFalseEndGInt APDefGrup0BnameStrn LockRightPValStrnFalseEndGInt BPDefGrup0CnameStrn LockBottomPValStrnFalseEndGInt CPDefGrup8DnameStrnTextFontPValStrnSystemEncoInt EndGInt DPDefGrup(EnameStrnTextSizePValStrn12EndGInt EPDefGrup(FnameStrnBoldPValStrnFalseEndGInt FPDefGrup,GnameStrnItalicPValStrnFalseEndGInt GPDefGrup0HnameStrn UnderlinePValStrnFalseEndGInt HPDefGrup8InameStrnCaptionPValStrnConnectEncoInt EndGInt IPDefGrup,JnameStrnDefaultPValStrnFalseEndGInt JPDefGrup,KnameStrnCancelPValStrnFalseEndGInt KPDefGrup(LnameStrnEnabledPValStrnTrueEndGInt LCBixInt EndGInt 2CtrlGrup<McclsStrn PushButtonnameStrn PushButtonPDefGrup<NnameStrnNamePValStrnDisconnectButtonEncoInt EndGInt NPDefGrup0OnameStrnIndexPValStrn -2147483648EndGInt OPDefGrup0PnameStrn TabPanelIndexPValStrn0EndGInt PPDefGrup(QnameStrnVisiblePValStrnTrueEndGInt QPDefGrup$RnameStrnLeftPValStrn20EndGInt RPDefGrup$SnameStrnTopPValStrn80EndGInt SPDefGrup(TnameStrnWidthPValStrn90EndGInt TPDefGrup(UnameStrnHeightPValStrn20EndGInt UPDefGrup,VnameStrn InitialParentPValStrnEndGInt VPDefGrup$WnameStrnHelpTagPValStrnEndGInt WPDefGrup(XnameStrn BalloonHelpPValStrnEndGInt XPDefGrup0YnameStrnDisabledBalloonHelpPValStrnEndGInt YPDefGrup0ZnameStrnAutoDeactivatePValStrnTrueEndGInt ZPDefGrup,[nameStrnLockLeftPValStrnFalseEndGInt [PDefGrup,\nameStrnLockTopPValStrnFalseEndGInt \PDefGrup0]nameStrn LockRightPValStrnFalseEndGInt ]PDefGrup0^nameStrn LockBottomPValStrnFalseEndGInt ^PDefGrup8_nameStrnTextFontPValStrnSystemEncoInt EndGInt _PDefGrup(`nameStrnTextSizePValStrn12EndGInt `PDefGrup(anameStrnBoldPValStrnFalseEndGInt aPDefGrup,bnameStrnItalicPValStrnFalseEndGInt bPDefGrup0cnameStrn UnderlinePValStrnFalseEndGInt cPDefGrup<dnameStrnCaptionPValStrn DisconnectEncoInt EndGInt dPDefGrup,enameStrnDefaultPValStrnFalseEndGInt ePDefGrup,fnameStrnCancelPValStrnFalseEndGInt fPDefGrup(gnameStrnEnabledPValStrnTrueEndGInt gCBixInt EndGInt MCtrlGruphcclsStrn StaticTextnameStrn StaticTextPDefGrup8inameStrnNamePValStrn SendStatusEncoInt EndGInt iPDefGrup0jnameStrnIndexPValStrn -2147483648EndGInt jPDefGrup0knameStrn TabPanelIndexPValStrn0EndGInt kPDefGrup(lnameStrnVisiblePValStrnTrueEndGInt lPDefGrup$mnameStrnLeftPValStrn180EndGInt mPDefGrup$nnameStrnTopPValStrn14EndGInt nPDefGrup(onameStrnWidthPValStrn100EndGInt oPDefGrup(pnameStrnHeightPValStrn20EndGInt pPDefGrup,qnameStrn InitialParentPValStrnEndGInt qPDefGrup$rnameStrnHelpTagPValStrnEndGInt rPDefGrup(snameStrn BalloonHelpPValStrnEndGInt sPDefGrup0tnameStrnDisabledBalloonHelpPValStrnEndGInt tPDefGrup0unameStrnAutoDeactivatePValStrnTrueEndGInt uPDefGrup,vnameStrnLockLeftPValStrnFalseEndGInt vPDefGrup,wnameStrnLockTopPValStrnFalseEndGInt wPDefGrup0xnameStrn LockRightPValStrnFalseEndGInt xPDefGrup0ynameStrn LockBottomPValStrnFalseEndGInt yPDefGrup8znameStrnTextFontPValStrnSystemEncoInt EndGInt zPDefGrup({nameStrnTextSizePValStrn12EndGInt {PDefGrup(|nameStrnBoldPValStrnFalseEndGInt |PDefGrup,}nameStrnItalicPValStrnFalseEndGInt }PDefGrup0~nameStrn UnderlinePValStrnFalseEndGInt ~PDefGrup8nameStrnTextPValStrn DisconnectedEncoInt EndGInt PDefGrup,nameStrn TextAlignPValStrn2EndGInt PDefGrup,nameStrn TextColorPValStrn0EndGInt PDefGrup0nameStrn MultiLinePValStrnFalseEndGInt PDefGrup(nameStrnEnabledPValStrnTrueEndGInt PDefGrup(nameStrn DataSourcePValStrnEndGInt PDefGrup(nameStrn DataFieldPValStrnEndGInt CBixInt EndGInt hCtrlGrupcclsStrn StaticTextnameStrn StaticTextPDefGrup8nameStrnNamePValStrn SendSpeedEncoInt EndGInt PDefGrup0nameStrnIndexPValStrn -2147483648EndGInt PDefGrup0nameStrn TabPanelIndexPValStrn0EndGInt PDefGrup(nameStrnVisiblePValStrnTrueEndGInt PDefGrup$nameStrnLeftPValStrn122EndGInt PDefGrup$nameStrnTopPValStrn37EndGInt PDefGrup(nameStrnWidthPValStrn158EndGInt PDefGrup(nameStrnHeightPValStrn20EndGInt PDefGrup,nameStrn InitialParentPValStrnEndGInt PDefGrup$nameStrnHelpTagPValStrnEndGInt PDefGrup(nameStrn BalloonHelpPValStrnEndGInt PDefGrup0nameStrnDisabledBalloonHelpPValStrnEndGInt PDefGrup0nameStrnAutoDeactivatePValStrnTrueEndGInt PDefGrup,nameStrnLockLeftPValStrnFalseEndGInt PDefGrup,nameStrnLockTopPValStrnFalseEndGInt PDefGrup0nameStrn LockRightPValStrnFalseEndGInt PDefGrup0nameStrn LockBottomPValStrnFalseEndGInt PDefGrup8nameStrnTextFontPValStrnSystemEncoInt EndGInt PDefGrup(nameStrnTextSizePValStrn12EndGInt PDefGrup(nameStrnBoldPValStrnFalseEndGInt PDefGrup,nameStrnItalicPValStrnFalseEndGInt PDefGrup0nameStrn UnderlinePValStrnFalseEndGInt PDefGrup4nameStrnTextPValStrn0 kB/secEncoInt EndGInt PDefGrup,nameStrn TextAlignPValStrn2EndGInt PDefGrup,nameStrn TextColorPValStrn0EndGInt PDefGrup0nameStrn MultiLinePValStrnFalseEndGInt PDefGrup(nameStrnEnabledPValStrnTrueEndGInt PDefGrup(nameStrn DataSourcePValStrnEndGInt PDefGrup(nameStrn DataFieldPValStrnEndGInt CBixInt EndGInt CtrlGrupcclsStrn StaticTextnameStrn StaticTextPDefGrup4nameStrnNamePValStrnSendSizeEncoInt EndGInt PDefGrup0nameStrnIndexPValStrn -2147483648EndGInt PDefGrup0nameStrn TabPanelIndexPValStrn0EndGInt PDefGrup(nameStrnVisiblePValStrnTrueEndGInt PDefGrup$nameStrnLeftPValStrn122EndGInt PDefGrup$nameStrnTopPValStrn62EndGInt PDefGrup(nameStrnWidthPValStrn158EndGInt PDefGrup(nameStrnHeightPValStrn20EndGInt PDefGrup,nameStrn InitialParentPValStrnEndGInt PDefGrup$nameStrnHelpTagPValStrnEndGInt PDefGrup(nameStrn BalloonHelpPValStrnEndGInt PDefGrup0nameStrnDisabledBalloonHelpPValStrnEndGInt PDefGrup0nameStrnAutoDeactivatePValStrnTrueEndGInt PDefGrup,nameStrnLockLeftPValStrnFalseEndGInt PDefGrup,nameStrnLockTopPValStrnFalseEndGInt PDefGrup0nameStrn LockRightPValStrnFalseEndGInt PDefGrup0nameStrn LockBottomPValStrnFalseEndGInt PDefGrup8nameStrnTextFontPValStrnSystemEncoInt EndGInt PDefGrup(nameStrnTextSizePValStrn12EndGInt PDefGrup(nameStrnBoldPValStrnFalseEndGInt PDefGrup,nameStrnItalicPValStrnFalseEndGInt PDefGrup0nameStrn UnderlinePValStrnFalseEndGInt PDefGrup8nameStrnTextPValStrn 0 MB / 0 MBEncoInt EndGInt PDefGrup,nameStrn TextAlignPValStrn2EndGInt PDefGrup,nameStrn TextColorPValStrn0EndGInt PDefGrup0nameStrn MultiLinePValStrnFalseEndGInt PDefGrup(nameStrnEnabledPValStrnTrueEndGInt PDefGrup(nameStrn DataSourcePValStrnEndGInt PDefGrup(nameStrn DataFieldPValStrnEndGInt CBixInt EndGInt CtrlGrupcclsStrn SubSocketnameStrn SubSocketPDefGrup8nameStrnNamePValStrn SendSocketEncoInt EndGInt PDefGrup0nameStrnIndexPValStrn -2147483648EndGInt PDefGrup0nameStrn TabPanelIndexPValStrn0EndGInt PDefGrup$nameStrnLeftPValStrn20EndGInt PDefGrup$nameStrnTopPValStrn168EndGInt PDefGrup$nameStrnAddressPValStrnEndGInt PDefGrup$nameStrnPortPValStrn0EndGInt CBixInt EndGInt CtrlGrupcclsStrn SeparatornameStrn SeparatorPDefGrup8nameStrnNamePValStrn Separator1EncoInt EndGInt PDefGrup0nameStrnIndexPValStrn -2147483648EndGInt PDefGrup0nameStrn TabPanelIndexPValStrn0EndGInt PDefGrup(nameStrnVisiblePValStrnTrueEndGInt PDefGrup$nameStrnLeftPValStrn20EndGInt PDefGrup$nameStrnTopPValStrn112EndGInt PDefGrup(nameStrnWidthPValStrn260EndGInt PDefGrup(nameStrnHeightPValStrn4EndGInt PDefGrup,nameStrn InitialParentPValStrnEndGInt PDefGrup$nameStrnHelpTagPValStrnEndGInt PDefGrup(nameStrn BalloonHelpPValStrnEndGInt PDefGrup0nameStrnDisabledBalloonHelpPValStrnEndGInt PDefGrup0nameStrnAutoDeactivatePValStrnTrueEndGInt PDefGrup,nameStrnLockLeftPValStrnFalseEndGInt PDefGrup,nameStrnLockTopPValStrnFalseEndGInt PDefGrup0nameStrn LockRightPValStrnFalseEndGInt PDefGrup0nameStrn LockBottomPValStrnFalseEndGInt PDefGrup(nameStrnEnabledPValStrnTrueEndGInt CBixInt EndGInt CtrlGrup4cclsStrn PushButtonnameStrn PushButtonPDefGrup8nameStrnNamePValStrn PushButton1EncoInt EndGInt PDefGrup0nameStrnIndexPValStrn -2147483648EndGInt PDefGrup0nameStrn TabPanelIndexPValStrn0EndGInt PDefGrup(nameStrnVisiblePValStrnTrueEndGInt PDefGrup$nameStrnLeftPValStrn20EndGInt PDefGrup$nameStrnTopPValStrn128EndGInt PDefGrup(nameStrnWidthPValStrn90EndGInt PDefGrup(nameStrnHeightPValStrn20EndGInt PDefGrup,nameStrn InitialParentPValStrnEndGInt PDefGrup$nameStrnHelpTagPValStrnEndGInt PDefGrup(nameStrn BalloonHelpPValStrnEndGInt PDefGrup0nameStrnDisabledBalloonHelpPValStrnEndGInt PDefGrup0nameStrnAutoDeactivatePValStrnTrueEndGInt PDefGrup,nameStrnLockLeftPValStrnFalseEndGInt PDefGrup,nameStrnLockTopPValStrnFalseEndGInt PDefGrup0nameStrn LockRightPValStrnFalseEndGInt PDefGrup0nameStrn LockBottomPValStrnFalseEndGInt PDefGrup8nameStrnTextFontPValStrnSystemEncoInt EndGInt PDefGrup(nameStrnTextSizePValStrn12EndGInt PDefGrup(nameStrnBoldPValStrnFalseEndGInt PDefGrup,nameStrnItalicPValStrnFalseEndGInt PDefGrup0nameStrn UnderlinePValStrnFalseEndGInt PDefGrup8nameStrnCaptionPValStrnListenEncoInt EndGInt PDefGrup,nameStrnDefaultPValStrnFalseEndGInt PDefGrup,nameStrnCancelPValStrnFalseEndGInt PDefGrup(nameStrnEnabledPValStrnTrueEndGInt CBixInt EndGInt CtrlGrupcclsStrn SubSocketnameStrn SubSocketPDefGrup8nameStrnNamePValStrn ListenSocketEncoInt EndGInt PDefGrup0nameStrnIndexPValStrn -2147483648EndGInt PDefGrup0nameStrn TabPanelIndexPValStrn0EndGInt PDefGrup$nameStrnLeftPValStrn64EndGInt PDefGrup$nameStrnTopPValStrn168EndGInt PDefGrup$nameStrnAddressPValStrnEndGInt PDefGrup$nameStrnPortPValStrn0EndGInt CBixInt EndGInt CtrlGrupcclsStrn StaticTextnameStrn StaticTextPDefGrup8nameStrnNamePValStrn ListenStatusEncoInt EndGInt PDefGrup0nameStrnIndexPValStrn -2147483648EndGInt PDefGrup0nameStrn TabPanelIndexPValStrn0EndGInt PDefGrup(nameStrnVisiblePValStrnTrueEndGInt PDefGrup$nameStrnLeftPValStrn122EndGInt PDefGrup$nameStrnTopPValStrn128EndGInt PDefGrup(nameStrnWidthPValStrn158EndGInt PDefGrup(nameStrnHeightPValStrn20EndGInt PDefGrup, nameStrn InitialParentPValStrnEndGInt  PDefGrup$ nameStrnHelpTagPValStrnEndGInt  PDefGrup( nameStrn BalloonHelpPValStrnEndGInt  PDefGrup0 nameStrnDisabledBalloonHelpPValStrnEndGInt  PDefGrup0 nameStrnAutoDeactivatePValStrnTrueEndGInt  PDefGrup,nameStrnLockLeftPValStrnFalseEndGInt PDefGrup,nameStrnLockTopPValStrnFalseEndGInt PDefGrup0nameStrn LockRightPValStrnFalseEndGInt PDefGrup0nameStrn LockBottomPValStrnFalseEndGInt PDefGrup8nameStrnTextFontPValStrnSystemEncoInt EndGInt PDefGrup(nameStrnTextSizePValStrn12EndGInt PDefGrup(nameStrnBoldPValStrnFalseEndGInt PDefGrup,nameStrnItalicPValStrnFalseEndGInt PDefGrup0nameStrn UnderlinePValStrnFalseEndGInt PDefGrup8nameStrnTextPValStrn DisconnectedEncoInt EndGInt PDefGrup,nameStrn TextAlignPValStrn2EndGInt PDefGrup,nameStrn TextColorPValStrn0EndGInt PDefGrup0nameStrn MultiLinePValStrnFalseEndGInt PDefGrup(nameStrnEnabledPValStrnTrueEndGInt PDefGrup(nameStrn DataSourcePValStrnEndGInt PDefGrup(nameStrn DataFieldPValStrnEndGInt CBixInt EndGInt CtrlGrupcclsStrn StaticTextnameStrn StaticTextPDefGrup8nameStrnNamePValStrn ListenSpeedEncoInt EndGInt PDefGrup0 nameStrnIndexPValStrn -2147483648EndGInt  PDefGrup0!nameStrn TabPanelIndexPValStrn0EndGInt !PDefGrup("nameStrnVisiblePValStrnTrueEndGInt "PDefGrup$#nameStrnLeftPValStrn122EndGInt #PDefGrup$$nameStrnTopPValStrn153EndGInt $PDefGrup(%nameStrnWidthPValStrn158EndGInt %PDefGrup(&nameStrnHeightPValStrn20EndGInt &PDefGrup,'nameStrn InitialParentPValStrnEndGInt 'PDefGrup$(nameStrnHelpTagPValStrnEndGInt (PDefGrup()nameStrn BalloonHelpPValStrnEndGInt )PDefGrup0*nameStrnDisabledBalloonHelpPValStrnEndGInt *PDefGrup0+nameStrnAutoDeactivatePValStrnTrueEndGInt +PDefGrup,,nameStrnLockLeftPValStrnFalseEndGInt ,PDefGrup,-nameStrnLockTopPValStrnFalseEndGInt -PDefGrup0.nameStrn LockRightPValStrnFalseEndGInt .PDefGrup0/nameStrn LockBottomPValStrnFalseEndGInt /PDefGrup80nameStrnTextFontPValStrnSystemEncoInt EndGInt 0PDefGrup(1nameStrnTextSizePValStrn12EndGInt 1PDefGrup(2nameStrnBoldPValStrnFalseEndGInt 2PDefGrup,3nameStrnItalicPValStrnFalseEndGInt 3PDefGrup04nameStrn UnderlinePValStrnFalseEndGInt 4PDefGrup45nameStrnTextPValStrn0 kB/secEncoInt EndGInt 5PDefGrup,6nameStrn TextAlignPValStrn2EndGInt 6PDefGrup,7nameStrn TextColorPValStrn0EndGInt 7PDefGrup08nameStrn MultiLinePValStrnFalseEndGInt 8PDefGrup(9nameStrnEnabledPValStrnTrueEndGInt 9PDefGrup(:nameStrn DataSourcePValStrnEndGInt :PDefGrup(;nameStrn DataFieldPValStrnEndGInt ;CBixInt EndGInt CtrlGrupnameStrnIndexPValStrn -2147483648EndGInt >PDefGrup0?nameStrn TabPanelIndexPValStrn0EndGInt ?PDefGrup(@nameStrnVisiblePValStrnTrueEndGInt @PDefGrup$AnameStrnLeftPValStrn108EndGInt APDefGrup$BnameStrnTopPValStrn180EndGInt BPDefGrup(CnameStrnWidthPValStrn172EndGInt CPDefGrup(DnameStrnHeightPValStrn20EndGInt DPDefGrup,EnameStrn InitialParentPValStrnEndGInt EPDefGrup$FnameStrnHelpTagPValStrnEndGInt FPDefGrup(GnameStrn BalloonHelpPValStrnEndGInt GPDefGrup0HnameStrnDisabledBalloonHelpPValStrnEndGInt HPDefGrup0InameStrnAutoDeactivatePValStrnTrueEndGInt IPDefGrup,JnameStrnLockLeftPValStrnFalseEndGInt JPDefGrup,KnameStrnLockTopPValStrnFalseEndGInt KPDefGrup0LnameStrn LockRightPValStrnFalseEndGInt LPDefGrup0MnameStrn LockBottomPValStrnFalseEndGInt MPDefGrup8NnameStrnTextFontPValStrnSystemEncoInt EndGInt NPDefGrup(OnameStrnTextSizePValStrn12EndGInt OPDefGrup(PnameStrnBoldPValStrnFalseEndGInt PPDefGrup,QnameStrnItalicPValStrnFalseEndGInt QPDefGrup0RnameStrn UnderlinePValStrnFalseEndGInt RPDefGrup8SnameStrnTextPValStrn 0 MB / 0 MBEncoInt EndGInt SPDefGrup,TnameStrn TextAlignPValStrn2EndGInt TPDefGrup,UnameStrn TextColorPValStrn0EndGInt UPDefGrup0VnameStrn MultiLinePValStrnFalseEndGInt VPDefGrup(WnameStrnEnabledPValStrnTrueEndGInt WPDefGrup(XnameStrn DataSourcePValStrnEndGInt XPDefGrup(YnameStrn DataFieldPValStrnEndGInt YCBixInt EndGInt nameStrn UnderlinePValStrnFalseEndGInt >PDefGrup4?nameStrnCaptionPValStrnOKEncoInt EndGInt ?PDefGrup(@nameStrnDefaultPValStrnTrueEndGInt @PDefGrup,AnameStrnCancelPValStrnFalseEndGInt APDefGrup(BnameStrnEnabledPValStrnTrueEndGInt BCBixInt EndGInt (PadnPadn****************************************************************************************************************************************************************************BlokpObj4')(2NameStrn SubSocketContInt rEdtRectJeSptInt bPGpGrupCbPElGrup4DscKyInt rEdtRectJeSptInt EndGInt DbPElGrup4EscKyInt rEdtRectJeSptInt EndGInt EEndGInt CbClsInt NameStrn SubSocketSizeInt xSuprStrn TCPSocketbNtrInt PropGrup<FEncoInt declStrnorigTime As DoubleflagInt EndGInt FPropGrup@GEncoInt declStrntotalReceived As DoubleflagInt EndGInt GPropGrup<HEncoInt declStrntotalSent As DoubleflagInt EndGInt HPropGrup<IEncoInt declStrnlastTime As DoubleflagInt EndGInt IHookGrupJEncoInt nameStrn SendProgressparmStrn?bytesSent as Integer, bytesLeft as Integer, byteSpeed As DoublersltStrnBooleanEndGInt JHookGrupXKEncoInt nameStrn DataAvailableparmStrnbytesSpeed As DoublersltStrnEndGInt KHInsGrupLEncoInt nameStrn ConnectedsorcGrup|MstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnSub Connected()srclStrnsrclStrnEnd SubEndGInt MEndGInt LHInsGrupNEncoInt nameStrn DataAvailablesorcGrupOstsrInt stscInt #ndsrInt ndscInt #EncoInt srclStrnSub DataAvailable()srclStrn'If origTime = 0 ThensrclStrnIf lastTime = 0 ThensrclStrnorigTime = TickssrclStrn'totalReceived = 0srclStrnlastTime = TickssrclStrnDataAvailable 0srclStrnReturnsrclStrnEnd IfsrclStrnsrclStrnDim d, t As DoublesrclStrnsrclStrn d = TickssrclStrn't = (d - origTime) / 60srclStrnt = (d - lastTime) / 60srclStrnsrclStrn2'totalReceived = totalReceived + Len(me.Lookahead)srclStrnlastTime = TickssrclStrnsrclStrn 'DataAvailable totalReceived / tsrclStrn#DataAvailable Len(me.Lookahead) / tsrclStrnEnd SubEndGInt OEndGInt NHInsGrupPEncoInt nameStrn SendCompletesorcGrupQstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn(Sub SendComplete(userAborted as Boolean)srclStrnsrclStrnEnd SubEndGInt QEndGInt PHInsGrup\REncoInt nameStrn SendProgresssorcGrupSstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnLFunction SendProgress(bytesSent as Integer, bytesLeft as Integer) As BooleansrclStrn'If origTime = 0 ThensrclStrnIf lastTime = 0 ThensrclStrnorigTime = TickssrclStrn'totalSent = 0srclStrnlastTime = TickssrclStrn,Return SendProgress(bytesSent, bytesLeft, 0)srclStrnEnd IfsrclStrnsrclStrnDim d, t As DoublesrclStrnsrclStrn d = TickssrclStrn't = (d - origTime) / 60srclStrnt = (d - lastTime) / 60srclStrnsrclStrn"'totalSent = totalSent + bytesSentsrclStrnlastTime = TickssrclStrnsrclStrn9'Return SendProgress(bytesSent, bytesLeft, totalSent / t)srclStrn8Return SendProgress(bytesSent, bytesLeft, bytesSent / t)srclStrn End FunctionEndGInt SEndGInt RIntrStrnPadnPadn********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************EOF!