From 18d29f86db6eac0c93e9cad29d4a9074408dc631 Mon Sep 17 00:00:00 2001
From: ljh <2762748762@qq.com>
Date: 星期二, 29 七月 2025 08:58:39 +0800
Subject: [PATCH] Merge branch 'master' of ssh://115.28.86.8:29418/~admin/天开景运_0405_250719

---
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/addfile.o               |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/systemmonitor.h                                               |   17 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Debug                |  546 ++++++++++++
 Server/付林涛/log/日志_付林涛_0726.doc                                                                 |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/videostoragemanager.cpp                                       |    6 
 Client/雷鹏涛/log/日报_雷鹏涛_0726.doc                                                                 |    0 
 Server/付林涛/code/tianKai/addfile.cpp                                                            |   37 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/ftpuploader.o           |    0 
 Server/付林涛/code/tianKai/addfile.h                                                              |   11 
 Client/熊国政/log/日志_熊国政_0727.doc                                                                 |    0 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/uploador.o              |    0 
 Server/付林涛/code/tianKai/uploador.h                                                             |   36 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/heartbeatworker.o       |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/databasemanager.cpp                                           |    6 
 Server/杜国庆/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro                                          |   14 
 Server/杜国庆/log/日志_Dgq_250726 .docx                                                             |    0 
 Server/刘创世/log/日志_刘创世_2025-07-28.doc                                                           |    0 
 Server/付林涛/code/tianKai/vcsmainwindow.h                                                        |    9 
 Server/郭铭鸿/log/日志_郭铭鸿_0726.doc                                                                 |    0 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/tianKai.exe             |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/performancechart.cpp                                          |    6 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.cpp         |   56 +
 Server/杜国庆/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user                                     |    2 
 Server/杜国庆/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui                                |   73 -
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_heartbeatworker.o   |    0 
 Server/付林涛/code/tianKai/heartbeatworker.cpp                                                    |   55 +
 Server/杜国庆/code/BG_Mon_Subsystem/systemdaemon.cpp                                              |    6 
 Server/付林涛/code/tianKai/main.cpp                                                               |    7 
 Server/付林涛/code/tianKai/vcsmainwindow.cpp                                                      |  122 ++
 Server/杜国庆/code/BG_Mon_Subsystem/videostoragemanager.h                                         |   28 
 Server/付林涛/code/tianKai/heartbeatworker.h                                                      |   34 
 Server/付林涛/code/tianKai/tianKai.pro                                                            |   10 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.o     |    0 
 Client/程泽坤/log/日志_程泽坤_0726.doc                                                                 |    0 
 Client/张德虎/log/日志_张德虎_0726 - .doc                                                              |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h                                 |   29 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_ftpuploader.cpp     |  186 ++++
 Server/付林涛/code/tianKai/struct_data.h                                                          |   77 +
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.o           |    0 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.cpp        |  143 +++
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.cpp   |   32 
 Server/杜国庆/code/BG_Mon_Subsystem/systemmonitor.cpp                                             |    6 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.o          |    0 
 Client/杨鑫/log/日志_杨鑫_0726.docx                                                                  |    0 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Release              |  546 ++++++++++++
 Server/杜国庆/code/BG_Mon_Subsystem/performancechart.h                                            |   29 
 Client/王旭东/log/日志_王旭东_0728.doc                                                                 |    0 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_heartbeatworker.cpp |  150 +++
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_ftpuploader.o       |    0 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Release |    4 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/vcsmainwindow.o         |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/systemdaemon.h                                                |   23 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Debug   |    4 
 Server/付林涛/code/tianKai/tianKai.pro.user                                                       |    2 
 Server/付林涛/code/tianKai/uploador.cpp                                                           |  104 ++
 Client/李韩宇/log/日志_李韩宇_0726.doc                                                                 |    0 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile                      |    2 
 Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/main.o                  |    0 
 Client/夏晓康/log/日志_夏晓康_250726.doc                                                               |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/databasemanager.h                                             |   23 
 60 files changed, 2,278 insertions(+), 163 deletions(-)

diff --git "a/Client/\345\244\217\346\231\223\345\272\267/log/\346\227\245\345\277\227_\345\244\217\346\231\223\345\272\267_250726.doc" "b/Client/\345\244\217\346\231\223\345\272\267/log/\346\227\245\345\277\227_\345\244\217\346\231\223\345\272\267_250726.doc"
new file mode 100644
index 0000000..53f5480
--- /dev/null
+++ "b/Client/\345\244\217\346\231\223\345\272\267/log/\346\227\245\345\277\227_\345\244\217\346\231\223\345\272\267_250726.doc"
Binary files differ
diff --git "a/Client/\345\274\240\345\276\267\350\231\216/log/\346\227\245\345\277\227_\345\274\240\345\276\267\350\231\216_0726 - .doc" "b/Client/\345\274\240\345\276\267\350\231\216/log/\346\227\245\345\277\227_\345\274\240\345\276\267\350\231\216_0726 - .doc"
new file mode 100644
index 0000000..f96c114
--- /dev/null
+++ "b/Client/\345\274\240\345\276\267\350\231\216/log/\346\227\245\345\277\227_\345\274\240\345\276\267\350\231\216_0726 - .doc"
Binary files differ
diff --git "a/Client/\346\235\216\351\237\251\345\256\207/log/\346\227\245\345\277\227_\346\235\216\351\237\251\345\256\207_0726.doc" "b/Client/\346\235\216\351\237\251\345\256\207/log/\346\227\245\345\277\227_\346\235\216\351\237\251\345\256\207_0726.doc"
new file mode 100644
index 0000000..ab65ce5
--- /dev/null
+++ "b/Client/\346\235\216\351\237\251\345\256\207/log/\346\227\245\345\277\227_\346\235\216\351\237\251\345\256\207_0726.doc"
Binary files differ
diff --git "a/Client/\346\235\250\351\221\253/log/\346\227\245\345\277\227_\346\235\250\351\221\253_0726.docx" "b/Client/\346\235\250\351\221\253/log/\346\227\245\345\277\227_\346\235\250\351\221\253_0726.docx"
new file mode 100644
index 0000000..be4d92c
--- /dev/null
+++ "b/Client/\346\235\250\351\221\253/log/\346\227\245\345\277\227_\346\235\250\351\221\253_0726.docx"
Binary files differ
diff --git "a/Client/\347\206\212\345\233\275\346\224\277/log/\346\227\245\345\277\227_\347\206\212\345\233\275\346\224\277_0727.doc" "b/Client/\347\206\212\345\233\275\346\224\277/log/\346\227\245\345\277\227_\347\206\212\345\233\275\346\224\277_0727.doc"
new file mode 100644
index 0000000..78ddd21
--- /dev/null
+++ "b/Client/\347\206\212\345\233\275\346\224\277/log/\346\227\245\345\277\227_\347\206\212\345\233\275\346\224\277_0727.doc"
Binary files differ
diff --git "a/Client/\347\216\213\346\227\255\344\270\234/log/\346\227\245\345\277\227_\347\216\213\346\227\255\344\270\234_0728.doc" "b/Client/\347\216\213\346\227\255\344\270\234/log/\346\227\245\345\277\227_\347\216\213\346\227\255\344\270\234_0728.doc"
new file mode 100644
index 0000000..4bec86b
--- /dev/null
+++ "b/Client/\347\216\213\346\227\255\344\270\234/log/\346\227\245\345\277\227_\347\216\213\346\227\255\344\270\234_0728.doc"
Binary files differ
diff --git "a/Client/\347\250\213\346\263\275\345\235\244/log/\346\227\245\345\277\227_\347\250\213\346\263\275\345\235\244_0726.doc" "b/Client/\347\250\213\346\263\275\345\235\244/log/\346\227\245\345\277\227_\347\250\213\346\263\275\345\235\244_0726.doc"
new file mode 100644
index 0000000..79c98a5
--- /dev/null
+++ "b/Client/\347\250\213\346\263\275\345\235\244/log/\346\227\245\345\277\227_\347\250\213\346\263\275\345\235\244_0726.doc"
Binary files differ
diff --git "a/Client/\351\233\267\351\271\217\346\266\233/log/\346\227\245\346\212\245_\351\233\267\351\271\217\346\266\233_0726.doc" "b/Client/\351\233\267\351\271\217\346\266\233/log/\346\227\245\346\212\245_\351\233\267\351\271\217\346\266\233_0726.doc"
new file mode 100644
index 0000000..900d017
--- /dev/null
+++ "b/Client/\351\233\267\351\271\217\346\266\233/log/\346\227\245\346\212\245_\351\233\267\351\271\217\346\266\233_0726.doc"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile"
index 9556e50..50a1b31 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile"
@@ -237,6 +237,7 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/lib/qtmaind.prl \
 		../../Qt5.9.4/5.9.4/mingw53_32/lib/Qt5Widgets.prl \
 		../../Qt5.9.4/5.9.4/mingw53_32/lib/Qt5Gui.prl \
+		../../Qt5.9.4/5.9.4/mingw53_32/lib/Qt5Network.prl \
 		../../Qt5.9.4/5.9.4/mingw53_32/lib/Qt5Core.prl
 	$(QMAKE) -o Makefile ..\tianKai\tianKai.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
 ../../Qt5.9.4/5.9.4/mingw53_32/mkspecs/features/spec_pre.prf:
@@ -415,6 +416,7 @@
 ../../Qt5.9.4/5.9.4/mingw53_32/lib/qtmaind.prl:
 ../../Qt5.9.4/5.9.4/mingw53_32/lib/Qt5Widgets.prl:
 ../../Qt5.9.4/5.9.4/mingw53_32/lib/Qt5Gui.prl:
+../../Qt5.9.4/5.9.4/mingw53_32/lib/Qt5Network.prl:
 ../../Qt5.9.4/5.9.4/mingw53_32/lib/Qt5Core.prl:
 qmake: FORCE
 	@$(QMAKE) -o Makefile ..\tianKai\tianKai.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Debug" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Debug"
index 68c441d..440d2ec 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Debug"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Debug"
@@ -11,13 +11,13 @@
 
 CC            = gcc
 CXX           = g++
-DEFINES       = -DUNICODE -D_UNICODE -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
+DEFINES       = -DUNICODE -D_UNICODE -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
 CFLAGS        = -fno-keep-inline-dllexport -g -Wall -W -Wextra $(DEFINES)
 CXXFLAGS      = -g -std=gnu++11 -Wall -W -fexceptions -mthreads $(DEFINES)
-INCPATH       = -I..\tianKai -I. -I..\..\Qt5.9.4\5.9.4\mingw53_32\include -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtWidgets -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtGui -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtANGLE -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtCore -Idebug -I. -I..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\win32-g++ 
+INCPATH       = -I..\tianKai -I. -I..\..\Qt5.9.4\5.9.4\mingw53_32\include -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtWidgets -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtGui -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtANGLE -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtNetwork -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtCore -Idebug -I. -I..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\win32-g++ 
 LINKER      =        g++
 LFLAGS        =        -Wl,-subsystem,windows -mthreads
-LIBS        =        -lmingw32 -LD:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libqtmaind.a -LC:\utils\my_sql\my_sql\lib -LC:\utils\postgresql\pgsql\lib -lshell32 D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Widgetsd.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Guid.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Cored.a 
+LIBS        =        -lmingw32 -LD:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libqtmaind.a -LC:\utils\my_sql\my_sql\lib -LC:\utils\postgresql\pgsql\lib -lshell32 D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Widgetsd.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Guid.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Networkd.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Cored.a 
 QMAKE         = D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\qmake.exe
 IDC           = idc
 IDL           = midl
@@ -50,33 +50,46 @@
 		..\tianKai\addfile.cpp \
 		..\tianKai\release.cpp \
 		..\tianKai\rollback.cpp \
-		..\tianKai\readlog.cpp debug\moc_vcsmainwindow.cpp \
+		..\tianKai\readlog.cpp \
+		..\tianKai\uploador.cpp \
+		..\tianKai\heartbeatworker.cpp debug\moc_vcsmainwindow.cpp \
 		debug\moc_addfile.cpp \
 		debug\moc_release.cpp \
 		debug\moc_rollback.cpp \
-		debug\moc_readlog.cpp
+		debug\moc_readlog.cpp \
+		debug\moc_uploador.cpp \
+		debug\moc_heartbeatworker.cpp
 OBJECTS       = debug/main.o \
 		debug/vcsmainwindow.o \
 		debug/addfile.o \
 		debug/release.o \
 		debug/rollback.o \
 		debug/readlog.o \
+		debug/uploador.o \
+		debug/heartbeatworker.o \
 		debug/moc_vcsmainwindow.o \
 		debug/moc_addfile.o \
 		debug/moc_release.o \
 		debug/moc_rollback.o \
-		debug/moc_readlog.o
+		debug/moc_readlog.o \
+		debug/moc_uploador.o \
+		debug/moc_heartbeatworker.o
 
 DIST          =  ..\tianKai\vcsmainwindow.h \
 		..\tianKai\addfile.h \
 		..\tianKai\release.h \
 		..\tianKai\rollback.h \
-		..\tianKai\readlog.h ..\tianKai\main.cpp \
+		..\tianKai\readlog.h \
+		..\tianKai\struct_data.h \
+		..\tianKai\uploador.h \
+		..\tianKai\heartbeatworker.h ..\tianKai\main.cpp \
 		..\tianKai\vcsmainwindow.cpp \
 		..\tianKai\addfile.cpp \
 		..\tianKai\release.cpp \
 		..\tianKai\rollback.cpp \
-		..\tianKai\readlog.cpp
+		..\tianKai\readlog.cpp \
+		..\tianKai\uploador.cpp \
+		..\tianKai\heartbeatworker.cpp
 QMAKE_TARGET  = tianKai
 DESTDIR        = debug\ #avoid trailing-slash linebreak
 TARGET         = tianKai.exe
@@ -96,10 +109,10 @@
 qmake_all: FORCE
 
 dist:
-	$(ZIP) tianKai.zip $(SOURCES) $(DIST) ..\tianKai\tianKai.pro ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\spec_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\qdevice.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\device_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\sanitize.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\gcc-base.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\g++-base.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\angle.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\qconfig.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3danimation.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3danimation_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dcore.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dinput.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dlogic.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquick.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickanimation.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickanimation_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickscene2d.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickscene2d_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3drender.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3drender_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_accessibility_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axbase.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axbase_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axcontainer.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axserver.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axserver_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bluetooth.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bootstrap_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_charts.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_charts_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_concurrent.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_core.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_core_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_datavisualization.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_datavisualization_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_dbus.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_dbus_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designer.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designer_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_devicediscovery_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_egl_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_fb_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_fontdatabase_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gamepad.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gamepad_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gui.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gui_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_help.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_help_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_location.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_location_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimedia.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_network.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_network_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_networkauth.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_networkauth_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_nfc.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_nfc_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_opengl.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_opengl_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_openglextensions.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_openglextensions_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_packetprotocol_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_platformcompositor_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_positioning.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_positioning_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_printsupport.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_purchasing.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_purchasing_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmldebug_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmldevtools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmltest.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quick.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quick_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickcontrols2.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickcontrols2_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quicktemplates2_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_remoteobjects.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_remoteobjects_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_repparser.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_repparser_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_script.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_script_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scripttools.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scripttools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scxml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scxml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sensors.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sensors_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialbus.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialport.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialport_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sql.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sql_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_svg.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_svg_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_testlib.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_testlib_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_texttospeech.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_texttospeech_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_theme_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uiplugin.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uitools.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uitools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_webchannel.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_websockets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_websockets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_widgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_widgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_winextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_winextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xmlpatterns.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xmlpatterns_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt_functions.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\win32-g++\qmake.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\spec_post.prf .qmake.stash ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exclusive_builds.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\toolchain.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\default_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\default_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\resolve_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exclusive_builds_post.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\default_post.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\build_pass.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qml_debug.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\precompile_header.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\warn_on.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\resources.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\moc.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\opengl.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\uic.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qmake_use.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\file_copies.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\windows.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\testcase_targets.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exceptions.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\yacc.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\lex.prf ..\tianKai\tianKai.pro ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\qtmaind.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Widgetsd.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Guid.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Cored.prl    ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\data\dummy.cpp ..\tianKai\vcsmainwindow.h ..\tianKai\addfile.h ..\tianKai\release.h ..\tianKai\rollback.h ..\tianKai\readlog.h ..\tianKai\main.cpp ..\tianKai\vcsmainwindow.cpp ..\tianKai\addfile.cpp ..\tianKai\release.cpp ..\tianKai\rollback.cpp ..\tianKai\readlog.cpp ..\tianKai\vcsmainwindow.ui ..\tianKai\addfile.ui ..\tianKai\release.ui ..\tianKai\rollback.ui ..\tianKai\readlog.ui    
+	$(ZIP) tianKai.zip $(SOURCES) $(DIST) ..\tianKai\tianKai.pro ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\spec_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\qdevice.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\device_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\sanitize.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\gcc-base.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\g++-base.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\angle.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\qconfig.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3danimation.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3danimation_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dcore.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dinput.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dlogic.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquick.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickanimation.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickanimation_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickscene2d.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickscene2d_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3drender.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3drender_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_accessibility_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axbase.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axbase_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axcontainer.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axserver.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axserver_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bluetooth.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bootstrap_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_charts.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_charts_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_concurrent.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_core.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_core_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_datavisualization.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_datavisualization_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_dbus.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_dbus_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designer.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designer_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_devicediscovery_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_egl_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_fb_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_fontdatabase_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gamepad.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gamepad_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gui.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gui_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_help.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_help_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_location.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_location_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimedia.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_network.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_network_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_networkauth.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_networkauth_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_nfc.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_nfc_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_opengl.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_opengl_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_openglextensions.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_openglextensions_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_packetprotocol_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_platformcompositor_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_positioning.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_positioning_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_printsupport.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_purchasing.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_purchasing_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmldebug_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmldevtools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmltest.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quick.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quick_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickcontrols2.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickcontrols2_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quicktemplates2_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_remoteobjects.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_remoteobjects_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_repparser.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_repparser_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_script.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_script_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scripttools.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scripttools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scxml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scxml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sensors.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sensors_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialbus.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialport.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialport_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sql.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sql_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_svg.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_svg_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_testlib.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_testlib_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_texttospeech.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_texttospeech_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_theme_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uiplugin.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uitools.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uitools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_webchannel.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_websockets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_websockets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_widgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_widgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_winextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_winextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xmlpatterns.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xmlpatterns_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt_functions.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\win32-g++\qmake.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\spec_post.prf .qmake.stash ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exclusive_builds.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\toolchain.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\default_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\default_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\resolve_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exclusive_builds_post.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\default_post.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\build_pass.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qml_debug.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\precompile_header.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\warn_on.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\resources.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\moc.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\opengl.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\uic.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qmake_use.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\file_copies.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\windows.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\testcase_targets.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exceptions.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\yacc.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\lex.prf ..\tianKai\tianKai.pro ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\qtmaind.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Widgetsd.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Guid.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Networkd.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Cored.prl    ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\data\dummy.cpp ..\tianKai\vcsmainwindow.h ..\tianKai\addfile.h ..\tianKai\release.h ..\tianKai\rollback.h ..\tianKai\readlog.h ..\tianKai\struct_data.h ..\tianKai\uploador.h ..\tianKai\heartbeatworker.h ..\tianKai\main.cpp ..\tianKai\vcsmainwindow.cpp ..\tianKai\addfile.cpp ..\tianKai\release.cpp ..\tianKai\rollback.cpp ..\tianKai\readlog.cpp ..\tianKai\uploador.cpp ..\tianKai\heartbeatworker.cpp ..\tianKai\vcsmainwindow.ui ..\tianKai\addfile.ui ..\tianKai\release.ui ..\tianKai\rollback.ui ..\tianKai\readlog.ui    
 
 clean: compiler_clean 
-	-$(DEL_FILE) debug\main.o debug\vcsmainwindow.o debug\addfile.o debug\release.o debug\rollback.o debug\readlog.o debug\moc_vcsmainwindow.o debug\moc_addfile.o debug\moc_release.o debug\moc_rollback.o debug\moc_readlog.o
+	-$(DEL_FILE) debug\main.o debug\vcsmainwindow.o debug\addfile.o debug\release.o debug\rollback.o debug\readlog.o debug\uploador.o debug\heartbeatworker.o debug\moc_vcsmainwindow.o debug\moc_addfile.o debug\moc_release.o debug\moc_rollback.o debug\moc_readlog.o debug\moc_uploador.o debug\moc_heartbeatworker.o
 
 distclean: clean 
 	-$(DEL_FILE) .qmake.stash
@@ -124,9 +137,9 @@
 debug/moc_predefs.h: ../../Qt5.9.4/5.9.4/mingw53_32/mkspecs/features/data/dummy.cpp
 	g++ -g -std=gnu++11 -Wall -W -dM -E -o debug\moc_predefs.h ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\data\dummy.cpp
 
-compiler_moc_header_make_all: debug/moc_vcsmainwindow.cpp debug/moc_addfile.cpp debug/moc_release.cpp debug/moc_rollback.cpp debug/moc_readlog.cpp
+compiler_moc_header_make_all: debug/moc_vcsmainwindow.cpp debug/moc_addfile.cpp debug/moc_release.cpp debug/moc_rollback.cpp debug/moc_readlog.cpp debug/moc_uploador.cpp debug/moc_heartbeatworker.cpp
 compiler_moc_header_clean:
-	-$(DEL_FILE) debug\moc_vcsmainwindow.cpp debug\moc_addfile.cpp debug\moc_release.cpp debug\moc_rollback.cpp debug\moc_readlog.cpp
+	-$(DEL_FILE) debug\moc_vcsmainwindow.cpp debug\moc_addfile.cpp debug\moc_release.cpp debug\moc_rollback.cpp debug\moc_readlog.cpp debug\moc_uploador.cpp debug\moc_heartbeatworker.cpp
 debug/moc_vcsmainwindow.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtwidgetsglobal.h \
@@ -230,12 +243,28 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		../tianKai/addfile.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
 		../tianKai/release.h \
+		../tianKai/rollback.h \
+		../tianKai/readlog.h \
 		../tianKai/vcsmainwindow.h \
 		debug/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\vcsmainwindow.h -o debug\moc_vcsmainwindow.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\vcsmainwindow.h -o debug\moc_vcsmainwindow.cpp
 
 debug/moc_addfile.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
@@ -340,10 +369,24 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		../tianKai/addfile.h \
 		debug/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\addfile.h -o debug\moc_addfile.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\addfile.h -o debug\moc_addfile.cpp
 
 debug/moc_release.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
@@ -451,7 +494,7 @@
 		../tianKai/release.h \
 		debug/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\release.h -o debug\moc_release.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\release.h -o debug\moc_release.cpp
 
 debug/moc_rollback.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
@@ -559,7 +602,7 @@
 		../tianKai/rollback.h \
 		debug/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\rollback.h -o debug\moc_rollback.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\rollback.h -o debug\moc_rollback.cpp
 
 debug/moc_readlog.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
@@ -667,7 +710,159 @@
 		../tianKai/readlog.h \
 		debug/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\readlog.h -o debug\moc_readlog.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\readlog.h -o debug\moc_readlog.cpp
+
+debug/moc_uploador.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnamespace.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig-bootstrapped.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtcore-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsystemdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qprocessordetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcompilerdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtypeinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsysinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlogging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qflags.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasicatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_bootstrap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qgenericatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_cxx11.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_msvc.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobalstatic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmutex.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnumeric.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qversiontagging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstring.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qchar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qrefcount.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qarraydata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringbuilder.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qalgorithms.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiterator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhashfunctions.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpair.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearraylist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregexp.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringmatcher.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreevent.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qscopedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmetatype.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvarlengtharray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontainerfwd.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiodevice.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdebug.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhash.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtextstream.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlocale.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvariant.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qshareddata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvector.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpoint.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qset.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontiguouscache.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/struct_data.h \
+		../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
+		../tianKai/uploador.h \
+		debug/moc_predefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\uploador.h -o debug\moc_uploador.cpp
+
+debug/moc_heartbeatworker.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnamespace.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig-bootstrapped.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtcore-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsystemdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qprocessordetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcompilerdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtypeinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsysinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlogging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qflags.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasicatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_bootstrap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qgenericatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_cxx11.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_msvc.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobalstatic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmutex.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnumeric.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qversiontagging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstring.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qchar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qrefcount.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qarraydata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringbuilder.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qalgorithms.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiterator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhashfunctions.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpair.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearraylist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregexp.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringmatcher.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreevent.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qscopedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmetatype.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvarlengtharray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontainerfwd.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiodevice.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdebug.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhash.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtextstream.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlocale.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvariant.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qshareddata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvector.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpoint.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qset.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontiguouscache.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
+		../tianKai/heartbeatworker.h \
+		debug/moc_predefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include debug/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\heartbeatworker.h -o debug\moc_heartbeatworker.cpp
 
 compiler_moc_source_make_all:
 compiler_moc_source_clean:
@@ -810,8 +1005,24 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		../tianKai/addfile.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
 		../tianKai/release.h \
+		../tianKai/rollback.h \
+		../tianKai/readlog.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QApplication \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qapplication.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreapplication.h \
@@ -925,8 +1136,24 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		../tianKai/addfile.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
 		../tianKai/release.h \
+		../tianKai/rollback.h \
+		../tianKai/readlog.h \
 		ui_vcsmainwindow.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QVariant \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QAction \
@@ -941,8 +1168,7 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qinputmethod.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QButtonGroup \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qbuttongroup.h \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QGroupBox \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qgroupbox.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QFrame \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qframe.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QHBoxLayout \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qboxlayout.h \
@@ -968,10 +1194,11 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QPushButton \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qpushbutton.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractbutton.h \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QSpacerItem \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QStackedWidget \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstackedwidget.h \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QFileInfo \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qfileinfo.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\vcsmainwindow.o ..\tianKai\vcsmainwindow.cpp
 
 debug/addfile.o: ../tianKai/addfile.cpp ../tianKai/addfile.h \
@@ -1078,6 +1305,20 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		ui_addfile.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QVariant \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QAction \
@@ -1126,7 +1367,16 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QTextEdit \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtextedit.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtextdocument.h \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QFileDialog \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qfiledialog.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdir.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qfileinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qdialog.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QDebug \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QDateTime \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdatetime.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QString
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\addfile.o ..\tianKai\addfile.cpp
 
 debug/release.o: ../tianKai/release.cpp ../tianKai/release.h \
@@ -1374,7 +1624,41 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
-		ui_rollback.h
+		ui_rollback.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QVariant \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QAction \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qaction.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qactiongroup.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QApplication \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qeventloop.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qdesktopwidget.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qguiapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qinputmethod.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QButtonGroup \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qbuttongroup.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QHeaderView \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qheaderview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractitemview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractscrollarea.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qframe.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qabstractitemmodel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qitemselectionmodel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractitemdelegate.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstyleoption.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractspinbox.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qvalidator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregularexpression.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qslider.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractslider.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstyle.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabbar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qrubberband.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QTableWidget \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtablewidget.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtableview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\rollback.o ..\tianKai\rollback.cpp
 
 debug/readlog.o: ../tianKai/readlog.cpp ../tianKai/readlog.h \
@@ -1481,8 +1765,216 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
-		ui_readlog.h
+		ui_readlog.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QVariant \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QAction \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qaction.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qactiongroup.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QApplication \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qeventloop.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qdesktopwidget.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qguiapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qinputmethod.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QButtonGroup \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qbuttongroup.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QComboBox \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qcombobox.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractitemdelegate.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstyleoption.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractspinbox.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qvalidator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregularexpression.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qslider.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractslider.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstyle.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabbar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qrubberband.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qframe.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qabstractitemmodel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QDateTimeEdit \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qdatetimeedit.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdatetime.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QHBoxLayout \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qboxlayout.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qlayout.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qlayoutitem.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qgridlayout.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QHeaderView \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qheaderview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractitemview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractscrollarea.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qitemselectionmodel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QLabel \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qlabel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QLineEdit \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qlineedit.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtextcursor.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtextformat.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qpen.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtextoption.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QPushButton \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qpushbutton.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractbutton.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QSpacerItem \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QTableWidget \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtablewidget.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtableview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\readlog.o ..\tianKai\readlog.cpp
+
+debug/uploador.o: ../tianKai/uploador.cpp ../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnamespace.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig-bootstrapped.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtcore-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsystemdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qprocessordetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcompilerdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtypeinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsysinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlogging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qflags.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasicatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_bootstrap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qgenericatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_cxx11.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_msvc.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobalstatic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmutex.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnumeric.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qversiontagging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstring.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qchar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qrefcount.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qarraydata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringbuilder.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qalgorithms.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiterator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhashfunctions.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpair.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearraylist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregexp.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringmatcher.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreevent.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qscopedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmetatype.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvarlengtharray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontainerfwd.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiodevice.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdebug.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhash.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtextstream.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlocale.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvariant.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qshareddata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvector.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpoint.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qset.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontiguouscache.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/struct_data.h \
+		../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\uploador.o ..\tianKai\uploador.cpp
+
+debug/heartbeatworker.o: ../tianKai/heartbeatworker.cpp ../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnamespace.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig-bootstrapped.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtcore-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsystemdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qprocessordetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcompilerdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtypeinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsysinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlogging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qflags.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasicatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_bootstrap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qgenericatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_cxx11.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_msvc.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobalstatic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmutex.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnumeric.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qversiontagging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstring.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qchar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qrefcount.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qarraydata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringbuilder.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qalgorithms.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiterator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhashfunctions.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpair.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearraylist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregexp.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringmatcher.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreevent.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qscopedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmetatype.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvarlengtharray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontainerfwd.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiodevice.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdebug.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhash.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtextstream.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlocale.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvariant.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qshareddata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvector.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpoint.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qset.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontiguouscache.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/struct_data.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\heartbeatworker.o ..\tianKai\heartbeatworker.cpp
 
 debug/moc_vcsmainwindow.o: debug/moc_vcsmainwindow.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_vcsmainwindow.o debug\moc_vcsmainwindow.cpp
@@ -1499,6 +1991,12 @@
 debug/moc_readlog.o: debug/moc_readlog.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_readlog.o debug\moc_readlog.cpp
 
+debug/moc_uploador.o: debug/moc_uploador.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_uploador.o debug\moc_uploador.cpp
+
+debug/moc_heartbeatworker.o: debug/moc_heartbeatworker.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_heartbeatworker.o debug\moc_heartbeatworker.cpp
+
 ####### Install
 
 install:  FORCE
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Release" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Release"
index c1dd28f..1a0af72 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Release"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/Makefile.Release"
@@ -11,13 +11,13 @@
 
 CC            = gcc
 CXX           = g++
-DEFINES       = -DUNICODE -D_UNICODE -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
+DEFINES       = -DUNICODE -D_UNICODE -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
 CFLAGS        = -fno-keep-inline-dllexport -O2 -Wall -W -Wextra $(DEFINES)
 CXXFLAGS      = -O2 -std=gnu++11 -Wall -W -fexceptions -mthreads $(DEFINES)
-INCPATH       = -I..\tianKai -I. -I..\..\Qt5.9.4\5.9.4\mingw53_32\include -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtWidgets -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtGui -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtANGLE -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtCore -Irelease -I. -I..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\win32-g++ 
+INCPATH       = -I..\tianKai -I. -I..\..\Qt5.9.4\5.9.4\mingw53_32\include -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtWidgets -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtGui -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtANGLE -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtNetwork -I..\..\Qt5.9.4\5.9.4\mingw53_32\include\QtCore -Irelease -I. -I..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\win32-g++ 
 LINKER      =        g++
 LFLAGS        =        -Wl,-s -Wl,-subsystem,windows -mthreads
-LIBS        =        -lmingw32 -LD:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libqtmain.a -LC:\utils\my_sql\my_sql\lib -LC:\utils\postgresql\pgsql\lib -lshell32 D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Widgets.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Gui.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Core.a 
+LIBS        =        -lmingw32 -LD:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libqtmain.a -LC:\utils\my_sql\my_sql\lib -LC:\utils\postgresql\pgsql\lib -lshell32 D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Widgets.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Gui.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Network.a D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\libQt5Core.a 
 QMAKE         = D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\qmake.exe
 IDC           = idc
 IDL           = midl
@@ -50,33 +50,46 @@
 		..\tianKai\addfile.cpp \
 		..\tianKai\release.cpp \
 		..\tianKai\rollback.cpp \
-		..\tianKai\readlog.cpp release\moc_vcsmainwindow.cpp \
+		..\tianKai\readlog.cpp \
+		..\tianKai\uploador.cpp \
+		..\tianKai\heartbeatworker.cpp release\moc_vcsmainwindow.cpp \
 		release\moc_addfile.cpp \
 		release\moc_release.cpp \
 		release\moc_rollback.cpp \
-		release\moc_readlog.cpp
+		release\moc_readlog.cpp \
+		release\moc_uploador.cpp \
+		release\moc_heartbeatworker.cpp
 OBJECTS       = release/main.o \
 		release/vcsmainwindow.o \
 		release/addfile.o \
 		release/release.o \
 		release/rollback.o \
 		release/readlog.o \
+		release/uploador.o \
+		release/heartbeatworker.o \
 		release/moc_vcsmainwindow.o \
 		release/moc_addfile.o \
 		release/moc_release.o \
 		release/moc_rollback.o \
-		release/moc_readlog.o
+		release/moc_readlog.o \
+		release/moc_uploador.o \
+		release/moc_heartbeatworker.o
 
 DIST          =  ..\tianKai\vcsmainwindow.h \
 		..\tianKai\addfile.h \
 		..\tianKai\release.h \
 		..\tianKai\rollback.h \
-		..\tianKai\readlog.h ..\tianKai\main.cpp \
+		..\tianKai\readlog.h \
+		..\tianKai\struct_data.h \
+		..\tianKai\uploador.h \
+		..\tianKai\heartbeatworker.h ..\tianKai\main.cpp \
 		..\tianKai\vcsmainwindow.cpp \
 		..\tianKai\addfile.cpp \
 		..\tianKai\release.cpp \
 		..\tianKai\rollback.cpp \
-		..\tianKai\readlog.cpp
+		..\tianKai\readlog.cpp \
+		..\tianKai\uploador.cpp \
+		..\tianKai\heartbeatworker.cpp
 QMAKE_TARGET  = tianKai
 DESTDIR        = release\ #avoid trailing-slash linebreak
 TARGET         = tianKai.exe
@@ -96,10 +109,10 @@
 qmake_all: FORCE
 
 dist:
-	$(ZIP) tianKai.zip $(SOURCES) $(DIST) ..\tianKai\tianKai.pro ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\spec_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\qdevice.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\device_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\sanitize.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\gcc-base.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\g++-base.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\angle.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\qconfig.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3danimation.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3danimation_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dcore.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dinput.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dlogic.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquick.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickanimation.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickanimation_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickscene2d.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickscene2d_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3drender.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3drender_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_accessibility_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axbase.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axbase_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axcontainer.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axserver.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axserver_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bluetooth.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bootstrap_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_charts.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_charts_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_concurrent.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_core.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_core_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_datavisualization.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_datavisualization_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_dbus.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_dbus_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designer.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designer_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_devicediscovery_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_egl_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_fb_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_fontdatabase_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gamepad.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gamepad_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gui.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gui_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_help.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_help_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_location.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_location_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimedia.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_network.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_network_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_networkauth.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_networkauth_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_nfc.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_nfc_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_opengl.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_opengl_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_openglextensions.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_openglextensions_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_packetprotocol_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_platformcompositor_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_positioning.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_positioning_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_printsupport.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_purchasing.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_purchasing_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmldebug_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmldevtools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmltest.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quick.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quick_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickcontrols2.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickcontrols2_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quicktemplates2_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_remoteobjects.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_remoteobjects_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_repparser.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_repparser_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_script.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_script_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scripttools.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scripttools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scxml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scxml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sensors.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sensors_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialbus.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialport.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialport_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sql.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sql_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_svg.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_svg_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_testlib.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_testlib_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_texttospeech.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_texttospeech_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_theme_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uiplugin.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uitools.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uitools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_webchannel.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_websockets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_websockets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_widgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_widgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_winextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_winextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xmlpatterns.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xmlpatterns_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt_functions.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\win32-g++\qmake.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\spec_post.prf .qmake.stash ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exclusive_builds.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\toolchain.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\default_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\default_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\resolve_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exclusive_builds_post.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\default_post.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\build_pass.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qml_debug.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\precompile_header.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\warn_on.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\resources.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\moc.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\opengl.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\uic.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qmake_use.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\file_copies.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\windows.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\testcase_targets.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exceptions.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\yacc.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\lex.prf ..\tianKai\tianKai.pro ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\qtmain.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Widgets.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Gui.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Core.prl    ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\data\dummy.cpp ..\tianKai\vcsmainwindow.h ..\tianKai\addfile.h ..\tianKai\release.h ..\tianKai\rollback.h ..\tianKai\readlog.h ..\tianKai\main.cpp ..\tianKai\vcsmainwindow.cpp ..\tianKai\addfile.cpp ..\tianKai\release.cpp ..\tianKai\rollback.cpp ..\tianKai\readlog.cpp ..\tianKai\vcsmainwindow.ui ..\tianKai\addfile.ui ..\tianKai\release.ui ..\tianKai\rollback.ui ..\tianKai\readlog.ui    
+	$(ZIP) tianKai.zip $(SOURCES) $(DIST) ..\tianKai\tianKai.pro ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\spec_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\qdevice.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\device_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\sanitize.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\gcc-base.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\g++-base.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\common\angle.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\qconfig.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3danimation.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3danimation_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dcore.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dinput.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dlogic.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquick.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickanimation.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickanimation_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickscene2d.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3dquickscene2d_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3drender.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_3drender_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_accessibility_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axbase.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axbase_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axcontainer.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axserver.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_axserver_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bluetooth.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_bootstrap_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_charts.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_charts_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_concurrent.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_core.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_core_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_datavisualization.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_datavisualization_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_dbus.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_dbus_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designer.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designer_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_devicediscovery_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_egl_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_fb_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_fontdatabase_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gamepad.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gamepad_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gui.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_gui_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_help.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_help_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_location.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_location_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimedia.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_network.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_network_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_networkauth.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_networkauth_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_nfc.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_nfc_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_opengl.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_opengl_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_openglextensions.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_openglextensions_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_packetprotocol_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_platformcompositor_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_positioning.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_positioning_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_printsupport.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_purchasing.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_purchasing_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmldebug_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmldevtools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmltest.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quick.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quick_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickcontrols2.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickcontrols2_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quicktemplates2_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_remoteobjects.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_remoteobjects_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_repparser.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_repparser_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_script.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_script_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scripttools.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scripttools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scxml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_scxml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sensors.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sensors_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialbus.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialport.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_serialport_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sql.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_sql_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_svg.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_svg_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_testlib.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_testlib_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_texttospeech.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_texttospeech_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_theme_support_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uiplugin.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uitools.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_uitools_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_webchannel.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_websockets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_websockets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_widgets.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_widgets_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_winextras.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_winextras_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xml.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xml_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xmlpatterns.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\modules\qt_lib_xmlpatterns_private.pri ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt_functions.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\win32-g++\qmake.conf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\spec_post.prf .qmake.stash ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exclusive_builds.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\toolchain.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\default_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\default_pre.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\resolve_config.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exclusive_builds_post.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\default_post.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\build_pass.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qml_debug.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\precompile_header.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\warn_on.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qt.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\resources.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\moc.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\opengl.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\uic.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\qmake_use.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\file_copies.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\win32\windows.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\testcase_targets.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\exceptions.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\yacc.prf ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\lex.prf ..\tianKai\tianKai.pro ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\qtmain.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Widgets.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Gui.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Network.prl ..\..\Qt5.9.4\5.9.4\mingw53_32\lib\Qt5Core.prl    ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\data\dummy.cpp ..\tianKai\vcsmainwindow.h ..\tianKai\addfile.h ..\tianKai\release.h ..\tianKai\rollback.h ..\tianKai\readlog.h ..\tianKai\struct_data.h ..\tianKai\uploador.h ..\tianKai\heartbeatworker.h ..\tianKai\main.cpp ..\tianKai\vcsmainwindow.cpp ..\tianKai\addfile.cpp ..\tianKai\release.cpp ..\tianKai\rollback.cpp ..\tianKai\readlog.cpp ..\tianKai\uploador.cpp ..\tianKai\heartbeatworker.cpp ..\tianKai\vcsmainwindow.ui ..\tianKai\addfile.ui ..\tianKai\release.ui ..\tianKai\rollback.ui ..\tianKai\readlog.ui    
 
 clean: compiler_clean 
-	-$(DEL_FILE) release\main.o release\vcsmainwindow.o release\addfile.o release\release.o release\rollback.o release\readlog.o release\moc_vcsmainwindow.o release\moc_addfile.o release\moc_release.o release\moc_rollback.o release\moc_readlog.o
+	-$(DEL_FILE) release\main.o release\vcsmainwindow.o release\addfile.o release\release.o release\rollback.o release\readlog.o release\uploador.o release\heartbeatworker.o release\moc_vcsmainwindow.o release\moc_addfile.o release\moc_release.o release\moc_rollback.o release\moc_readlog.o release\moc_uploador.o release\moc_heartbeatworker.o
 
 distclean: clean 
 	-$(DEL_FILE) .qmake.stash
@@ -124,9 +137,9 @@
 release/moc_predefs.h: ../../Qt5.9.4/5.9.4/mingw53_32/mkspecs/features/data/dummy.cpp
 	g++ -O2 -std=gnu++11 -Wall -W -dM -E -o release\moc_predefs.h ..\..\Qt5.9.4\5.9.4\mingw53_32\mkspecs\features\data\dummy.cpp
 
-compiler_moc_header_make_all: release/moc_vcsmainwindow.cpp release/moc_addfile.cpp release/moc_release.cpp release/moc_rollback.cpp release/moc_readlog.cpp
+compiler_moc_header_make_all: release/moc_vcsmainwindow.cpp release/moc_addfile.cpp release/moc_release.cpp release/moc_rollback.cpp release/moc_readlog.cpp release/moc_uploador.cpp release/moc_heartbeatworker.cpp
 compiler_moc_header_clean:
-	-$(DEL_FILE) release\moc_vcsmainwindow.cpp release\moc_addfile.cpp release\moc_release.cpp release\moc_rollback.cpp release\moc_readlog.cpp
+	-$(DEL_FILE) release\moc_vcsmainwindow.cpp release\moc_addfile.cpp release\moc_release.cpp release\moc_rollback.cpp release\moc_readlog.cpp release\moc_uploador.cpp release\moc_heartbeatworker.cpp
 release/moc_vcsmainwindow.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtwidgetsglobal.h \
@@ -230,12 +243,28 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		../tianKai/addfile.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
 		../tianKai/release.h \
+		../tianKai/rollback.h \
+		../tianKai/readlog.h \
 		../tianKai/vcsmainwindow.h \
 		release/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\vcsmainwindow.h -o release\moc_vcsmainwindow.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\vcsmainwindow.h -o release\moc_vcsmainwindow.cpp
 
 release/moc_addfile.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
@@ -340,10 +369,24 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		../tianKai/addfile.h \
 		release/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\addfile.h -o release\moc_addfile.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\addfile.h -o release\moc_addfile.cpp
 
 release/moc_release.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
@@ -451,7 +494,7 @@
 		../tianKai/release.h \
 		release/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\release.h -o release\moc_release.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\release.h -o release\moc_release.cpp
 
 release/moc_rollback.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
@@ -559,7 +602,7 @@
 		../tianKai/rollback.h \
 		release/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\rollback.h -o release\moc_rollback.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\rollback.h -o release\moc_rollback.cpp
 
 release/moc_readlog.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QMainWindow \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qmainwindow.h \
@@ -667,7 +710,159 @@
 		../tianKai/readlog.h \
 		release/moc_predefs.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
-	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\readlog.h -o release\moc_readlog.cpp
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\readlog.h -o release\moc_readlog.cpp
+
+release/moc_uploador.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnamespace.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig-bootstrapped.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtcore-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsystemdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qprocessordetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcompilerdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtypeinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsysinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlogging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qflags.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasicatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_bootstrap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qgenericatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_cxx11.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_msvc.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobalstatic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmutex.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnumeric.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qversiontagging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstring.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qchar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qrefcount.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qarraydata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringbuilder.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qalgorithms.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiterator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhashfunctions.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpair.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearraylist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregexp.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringmatcher.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreevent.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qscopedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmetatype.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvarlengtharray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontainerfwd.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiodevice.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdebug.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhash.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtextstream.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlocale.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvariant.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qshareddata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvector.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpoint.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qset.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontiguouscache.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/struct_data.h \
+		../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
+		../tianKai/uploador.h \
+		release/moc_predefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\uploador.h -o release\moc_uploador.cpp
+
+release/moc_heartbeatworker.cpp: ../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnamespace.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig-bootstrapped.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtcore-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsystemdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qprocessordetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcompilerdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtypeinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsysinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlogging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qflags.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasicatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_bootstrap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qgenericatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_cxx11.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_msvc.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobalstatic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmutex.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnumeric.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qversiontagging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstring.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qchar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qrefcount.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qarraydata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringbuilder.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qalgorithms.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiterator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhashfunctions.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpair.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearraylist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregexp.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringmatcher.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreevent.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qscopedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmetatype.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvarlengtharray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontainerfwd.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiodevice.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdebug.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhash.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtextstream.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlocale.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvariant.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qshareddata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvector.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpoint.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qset.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontiguouscache.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
+		../tianKai/heartbeatworker.h \
+		release/moc_predefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/bin/moc.exe
+	D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\moc.exe $(DEFINES) --include release/moc_predefs.h -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/mkspecs/win32-g++ -ID:/Qt/QtProject/tianKai -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtGui -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtANGLE -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork -ID:/Qt/Qt5.9.4/5.9.4/mingw53_32/include/QtCore -I. -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++ -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -ID:/Qt/Qt5.9.4/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward ..\tianKai\heartbeatworker.h -o release\moc_heartbeatworker.cpp
 
 compiler_moc_source_make_all:
 compiler_moc_source_clean:
@@ -810,8 +1005,24 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		../tianKai/addfile.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
 		../tianKai/release.h \
+		../tianKai/rollback.h \
+		../tianKai/readlog.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QApplication \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qapplication.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreapplication.h \
@@ -925,8 +1136,24 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		../tianKai/addfile.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
 		../tianKai/release.h \
+		../tianKai/rollback.h \
+		../tianKai/readlog.h \
 		ui_vcsmainwindow.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QVariant \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QAction \
@@ -941,8 +1168,7 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qinputmethod.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QButtonGroup \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qbuttongroup.h \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QGroupBox \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qgroupbox.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QFrame \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qframe.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QHBoxLayout \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qboxlayout.h \
@@ -968,10 +1194,11 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QPushButton \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qpushbutton.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractbutton.h \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QSpacerItem \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QStackedWidget \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstackedwidget.h \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QFileInfo \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qfileinfo.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\vcsmainwindow.o ..\tianKai\vcsmainwindow.cpp
 
 release/addfile.o: ../tianKai/addfile.cpp ../tianKai/addfile.h \
@@ -1078,6 +1305,20 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
+		../tianKai/struct_data.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
 		ui_addfile.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QVariant \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QAction \
@@ -1126,7 +1367,16 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QTextEdit \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtextedit.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtextdocument.h \
-		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QFileDialog \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qfiledialog.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdir.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qfileinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qdialog.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QDebug \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QDateTime \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdatetime.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QString
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\addfile.o ..\tianKai\addfile.cpp
 
 release/release.o: ../tianKai/release.cpp ../tianKai/release.h \
@@ -1374,7 +1624,41 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
-		ui_rollback.h
+		ui_rollback.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QVariant \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QAction \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qaction.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qactiongroup.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QApplication \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qeventloop.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qdesktopwidget.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qguiapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qinputmethod.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QButtonGroup \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qbuttongroup.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QHeaderView \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qheaderview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractitemview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractscrollarea.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qframe.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qabstractitemmodel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qitemselectionmodel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractitemdelegate.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstyleoption.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractspinbox.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qvalidator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregularexpression.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qslider.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractslider.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstyle.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabbar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qrubberband.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QTableWidget \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtablewidget.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtableview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\rollback.o ..\tianKai\rollback.cpp
 
 release/readlog.o: ../tianKai/readlog.cpp ../tianKai/readlog.h \
@@ -1481,8 +1765,216 @@
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtouchdevice.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabwidget.h \
 		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qicon.h \
-		ui_readlog.h
+		ui_readlog.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QVariant \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QAction \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qaction.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qactiongroup.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QApplication \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qeventloop.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qdesktopwidget.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qguiapplication.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qinputmethod.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QButtonGroup \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qbuttongroup.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QComboBox \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qcombobox.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractitemdelegate.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstyleoption.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractspinbox.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qvalidator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregularexpression.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qslider.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractslider.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qstyle.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtabbar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qrubberband.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qframe.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qabstractitemmodel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QDateTimeEdit \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qdatetimeedit.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdatetime.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QHBoxLayout \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qboxlayout.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qlayout.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qlayoutitem.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qgridlayout.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QHeaderView \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qheaderview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractitemview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractscrollarea.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qitemselectionmodel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QLabel \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qlabel.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QLineEdit \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qlineedit.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtextcursor.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtextformat.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qpen.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtGui/qtextoption.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QPushButton \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qpushbutton.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qabstractbutton.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QSpacerItem \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QTableWidget \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtablewidget.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/qtableview.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtWidgets/QWidget
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\readlog.o ..\tianKai\readlog.cpp
+
+release/uploador.o: ../tianKai/uploador.cpp ../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnamespace.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig-bootstrapped.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtcore-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsystemdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qprocessordetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcompilerdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtypeinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsysinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlogging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qflags.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasicatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_bootstrap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qgenericatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_cxx11.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_msvc.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobalstatic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmutex.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnumeric.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qversiontagging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstring.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qchar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qrefcount.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qarraydata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringbuilder.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qalgorithms.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiterator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhashfunctions.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpair.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearraylist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregexp.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringmatcher.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreevent.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qscopedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmetatype.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvarlengtharray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontainerfwd.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiodevice.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdebug.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhash.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtextstream.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlocale.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvariant.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qshareddata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvector.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpoint.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qset.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontiguouscache.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/struct_data.h \
+		../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\uploador.o ..\tianKai\uploador.cpp
+
+release/heartbeatworker.o: ../tianKai/heartbeatworker.cpp ../tianKai/heartbeatworker.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QObject \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnamespace.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig-bootstrapped.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qconfig.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtcore-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsystemdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qprocessordetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcompilerdetection.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtypeinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsysinfo.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlogging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qflags.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasicatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_bootstrap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qgenericatomic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_cxx11.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qatomic_msvc.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qglobalstatic.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmutex.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qnumeric.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qversiontagging.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobjectdefs_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstring.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qchar.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qrefcount.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qarraydata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringbuilder.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qalgorithms.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiterator.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhashfunctions.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpair.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbytearraylist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringlist.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qregexp.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qstringmatcher.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcoreevent.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qscopedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmetatype.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvarlengtharray.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontainerfwd.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qobject_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/QTcpSocket \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtcpsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetworkglobal.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qtnetwork-config.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtNetwork/qabstractsocket.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qiodevice.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qdebug.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qhash.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qmap.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtextstream.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qlocale.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvariant.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qshareddata.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qvector.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qpoint.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qset.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qcontiguouscache.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qsharedpointer_impl.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QTimer \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qtimer.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qbasictimer.h \
+		../tianKai/uploador.h \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/QThread \
+		../../Qt5.9.4/5.9.4/mingw53_32/include/QtCore/qthread.h \
+		../tianKai/struct_data.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\heartbeatworker.o ..\tianKai\heartbeatworker.cpp
 
 release/moc_vcsmainwindow.o: release/moc_vcsmainwindow.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_vcsmainwindow.o release\moc_vcsmainwindow.cpp
@@ -1499,6 +1991,12 @@
 release/moc_readlog.o: release/moc_readlog.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_readlog.o release\moc_readlog.cpp
 
+release/moc_uploador.o: release/moc_uploador.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_uploador.o release\moc_uploador.cpp
+
+release/moc_heartbeatworker.o: release/moc_heartbeatworker.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_heartbeatworker.o release\moc_heartbeatworker.cpp
+
 ####### Install
 
 install:  FORCE
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/addfile.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/addfile.o"
index aba95a0..adf69aa 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/addfile.o"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/addfile.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/ftpuploader.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/ftpuploader.o"
new file mode 100644
index 0000000..b6579ff
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/ftpuploader.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/heartbeatworker.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/heartbeatworker.o"
new file mode 100644
index 0000000..bcde7d9
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/heartbeatworker.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/main.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/main.o"
index 24a32a5..dab0d1e 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/main.o"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/main.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.cpp"
index a71805a..89f7c66 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.cpp"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.cpp"
@@ -21,8 +21,8 @@
 QT_WARNING_PUSH
 QT_WARNING_DISABLE_DEPRECATED
 struct qt_meta_stringdata_AddFile_t {
-    QByteArrayData data[3];
-    char stringdata0[33];
+    QByteArrayData data[5];
+    char stringdata0[69];
 };
 #define QT_MOC_LITERAL(idx, ofs, len) \
     Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -32,11 +32,14 @@
 static const qt_meta_stringdata_AddFile_t qt_meta_stringdata_AddFile = {
     {
 QT_MOC_LITERAL(0, 0, 7), // "AddFile"
-QT_MOC_LITERAL(1, 8, 23), // "on_pushButton_3_clicked"
-QT_MOC_LITERAL(2, 32, 0) // ""
+QT_MOC_LITERAL(1, 8, 13), // "addFileSignal"
+QT_MOC_LITERAL(2, 22, 0), // ""
+QT_MOC_LITERAL(3, 23, 23), // "on_pushButton_3_clicked"
+QT_MOC_LITERAL(4, 47, 21) // "on_pushButton_clicked"
 
     },
-    "AddFile\0on_pushButton_3_clicked\0"
+    "AddFile\0addFileSignal\0\0on_pushButton_3_clicked\0"
+    "on_pushButton_clicked"
 };
 #undef QT_MOC_LITERAL
 
@@ -46,17 +49,25 @@
        7,       // revision
        0,       // classname
        0,    0, // classinfo
-       1,   14, // methods
+       3,   14, // methods
        0,    0, // properties
        0,    0, // enums/sets
        0,    0, // constructors
        0,       // flags
-       0,       // signalCount
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags
+       1,    2,   29,    2, 0x06 /* Public */,
 
  // slots: name, argc, parameters, tag, flags
-       1,    0,   19,    2, 0x08 /* Private */,
+       3,    0,   34,    2, 0x08 /* Private */,
+       4,    0,   35,    2, 0x08 /* Private */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QString, QMetaType::QString,    2,    2,
 
  // slots: parameters
+    QMetaType::Void,
     QMetaType::Void,
 
        0        // eod
@@ -68,11 +79,21 @@
         AddFile *_t = static_cast<AddFile *>(_o);
         Q_UNUSED(_t)
         switch (_id) {
-        case 0: _t->on_pushButton_3_clicked(); break;
+        case 0: _t->addFileSignal((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
+        case 1: _t->on_pushButton_3_clicked(); break;
+        case 2: _t->on_pushButton_clicked(); break;
         default: ;
         }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            typedef void (AddFile::*_t)(QString , QString );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AddFile::addFileSignal)) {
+                *result = 0;
+                return;
+            }
+        }
     }
-    Q_UNUSED(_a);
 }
 
 const QMetaObject AddFile::staticMetaObject = {
@@ -100,15 +121,22 @@
     if (_id < 0)
         return _id;
     if (_c == QMetaObject::InvokeMetaMethod) {
-        if (_id < 1)
+        if (_id < 3)
             qt_static_metacall(this, _c, _id, _a);
-        _id -= 1;
+        _id -= 3;
     } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
-        if (_id < 1)
+        if (_id < 3)
             *reinterpret_cast<int*>(_a[0]) = -1;
-        _id -= 1;
+        _id -= 3;
     }
     return _id;
 }
+
+// SIGNAL 0
+void AddFile::addFileSignal(QString _t1, QString _t2)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
 QT_WARNING_POP
 QT_END_MOC_NAMESPACE
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.o"
index 75d156a..094d76e 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.o"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_ftpuploader.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_ftpuploader.cpp"
new file mode 100644
index 0000000..81309f0
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_ftpuploader.cpp"
@@ -0,0 +1,186 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'ftpuploader.h'
+**
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "../../tianKai/ftpuploader.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'ftpuploader.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 67
+#error "This file was generated using the moc from 5.9.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_FtpUploader_t {
+    QByteArrayData data[13];
+    char stringdata0[149];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+    Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+    qptrdiff(offsetof(qt_meta_stringdata_FtpUploader_t, stringdata0) + ofs \
+        - idx * sizeof(QByteArrayData)) \
+    )
+static const qt_meta_stringdata_FtpUploader_t qt_meta_stringdata_FtpUploader = {
+    {
+QT_MOC_LITERAL(0, 0, 11), // "FtpUploader"
+QT_MOC_LITERAL(1, 12, 15), // "progressChanged"
+QT_MOC_LITERAL(2, 28, 0), // ""
+QT_MOC_LITERAL(3, 29, 7), // "percent"
+QT_MOC_LITERAL(4, 37, 14), // "uploadFinished"
+QT_MOC_LITERAL(5, 52, 7), // "success"
+QT_MOC_LITERAL(6, 60, 7), // "message"
+QT_MOC_LITERAL(7, 68, 13), // "errorOccurred"
+QT_MOC_LITERAL(8, 82, 11), // "errorString"
+QT_MOC_LITERAL(9, 94, 16), // "onUploadProgress"
+QT_MOC_LITERAL(10, 111, 9), // "bytesSent"
+QT_MOC_LITERAL(11, 121, 10), // "bytesTotal"
+QT_MOC_LITERAL(12, 132, 16) // "onUploadFinished"
+
+    },
+    "FtpUploader\0progressChanged\0\0percent\0"
+    "uploadFinished\0success\0message\0"
+    "errorOccurred\0errorString\0onUploadProgress\0"
+    "bytesSent\0bytesTotal\0onUploadFinished"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_FtpUploader[] = {
+
+ // content:
+       7,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       5,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       3,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags
+       1,    1,   39,    2, 0x06 /* Public */,
+       4,    2,   42,    2, 0x06 /* Public */,
+       7,    1,   47,    2, 0x06 /* Public */,
+
+ // slots: name, argc, parameters, tag, flags
+       9,    2,   50,    2, 0x08 /* Private */,
+      12,    0,   55,    2, 0x08 /* Private */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::Int,    3,
+    QMetaType::Void, QMetaType::Bool, QMetaType::QString,    5,    6,
+    QMetaType::Void, QMetaType::QString,    8,
+
+ // slots: parameters
+    QMetaType::Void, QMetaType::LongLong, QMetaType::LongLong,   10,   11,
+    QMetaType::Void,
+
+       0        // eod
+};
+
+void FtpUploader::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        FtpUploader *_t = static_cast<FtpUploader *>(_o);
+        Q_UNUSED(_t)
+        switch (_id) {
+        case 0: _t->progressChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
+        case 1: _t->uploadFinished((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break;
+        case 2: _t->errorOccurred((*reinterpret_cast< const QString(*)>(_a[1]))); break;
+        case 3: _t->onUploadProgress((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+        case 4: _t->onUploadFinished(); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            typedef void (FtpUploader::*_t)(int );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&FtpUploader::progressChanged)) {
+                *result = 0;
+                return;
+            }
+        }
+        {
+            typedef void (FtpUploader::*_t)(bool , const QString & );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&FtpUploader::uploadFinished)) {
+                *result = 1;
+                return;
+            }
+        }
+        {
+            typedef void (FtpUploader::*_t)(const QString & );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&FtpUploader::errorOccurred)) {
+                *result = 2;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject FtpUploader::staticMetaObject = {
+    { &QObject::staticMetaObject, qt_meta_stringdata_FtpUploader.data,
+      qt_meta_data_FtpUploader,  qt_static_metacall, nullptr, nullptr}
+};
+
+
+const QMetaObject *FtpUploader::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *FtpUploader::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_FtpUploader.stringdata0))
+        return static_cast<void*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int FtpUploader::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 5)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 5;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 5)
+            *reinterpret_cast<int*>(_a[0]) = -1;
+        _id -= 5;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void FtpUploader::progressChanged(int _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+
+// SIGNAL 1
+void FtpUploader::uploadFinished(bool _t1, const QString & _t2)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
+    QMetaObject::activate(this, &staticMetaObject, 1, _a);
+}
+
+// SIGNAL 2
+void FtpUploader::errorOccurred(const QString & _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+    QMetaObject::activate(this, &staticMetaObject, 2, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_ftpuploader.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_ftpuploader.o"
new file mode 100644
index 0000000..bca1fc0
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_ftpuploader.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_heartbeatworker.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_heartbeatworker.cpp"
new file mode 100644
index 0000000..2f5445b
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_heartbeatworker.cpp"
@@ -0,0 +1,150 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'heartbeatworker.h'
+**
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "../../tianKai/heartbeatworker.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'heartbeatworker.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 67
+#error "This file was generated using the moc from 5.9.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_HeartbeatWorker_t {
+    QByteArrayData data[7];
+    char stringdata0[76];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+    Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+    qptrdiff(offsetof(qt_meta_stringdata_HeartbeatWorker_t, stringdata0) + ofs \
+        - idx * sizeof(QByteArrayData)) \
+    )
+static const qt_meta_stringdata_HeartbeatWorker_t qt_meta_stringdata_HeartbeatWorker = {
+    {
+QT_MOC_LITERAL(0, 0, 15), // "HeartbeatWorker"
+QT_MOC_LITERAL(1, 16, 16), // "requestHeartbeat"
+QT_MOC_LITERAL(2, 33, 0), // ""
+QT_MOC_LITERAL(3, 34, 5), // "start"
+QT_MOC_LITERAL(4, 40, 4), // "stop"
+QT_MOC_LITERAL(5, 45, 14), // "checkHeartbeat"
+QT_MOC_LITERAL(6, 60, 15) // "handleReconnect"
+
+    },
+    "HeartbeatWorker\0requestHeartbeat\0\0"
+    "start\0stop\0checkHeartbeat\0handleReconnect"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_HeartbeatWorker[] = {
+
+ // content:
+       7,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       5,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags
+       1,    0,   39,    2, 0x06 /* Public */,
+
+ // slots: name, argc, parameters, tag, flags
+       3,    0,   40,    2, 0x0a /* Public */,
+       4,    0,   41,    2, 0x0a /* Public */,
+       5,    0,   42,    2, 0x08 /* Private */,
+       6,    0,   43,    2, 0x08 /* Private */,
+
+ // signals: parameters
+    QMetaType::Void,
+
+ // slots: parameters
+    QMetaType::Void,
+    QMetaType::Void,
+    QMetaType::Void,
+    QMetaType::Void,
+
+       0        // eod
+};
+
+void HeartbeatWorker::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        HeartbeatWorker *_t = static_cast<HeartbeatWorker *>(_o);
+        Q_UNUSED(_t)
+        switch (_id) {
+        case 0: _t->requestHeartbeat(); break;
+        case 1: _t->start(); break;
+        case 2: _t->stop(); break;
+        case 3: _t->checkHeartbeat(); break;
+        case 4: _t->handleReconnect(); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            typedef void (HeartbeatWorker::*_t)();
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&HeartbeatWorker::requestHeartbeat)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+    Q_UNUSED(_a);
+}
+
+const QMetaObject HeartbeatWorker::staticMetaObject = {
+    { &QObject::staticMetaObject, qt_meta_stringdata_HeartbeatWorker.data,
+      qt_meta_data_HeartbeatWorker,  qt_static_metacall, nullptr, nullptr}
+};
+
+
+const QMetaObject *HeartbeatWorker::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *HeartbeatWorker::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_HeartbeatWorker.stringdata0))
+        return static_cast<void*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int HeartbeatWorker::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 5)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 5;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 5)
+            *reinterpret_cast<int*>(_a[0]) = -1;
+        _id -= 5;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void HeartbeatWorker::requestHeartbeat()
+{
+    QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_heartbeatworker.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_heartbeatworker.o"
new file mode 100644
index 0000000..c34bde7
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_heartbeatworker.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.cpp"
new file mode 100644
index 0000000..95e3710
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.cpp"
@@ -0,0 +1,143 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'uploador.h'
+**
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "../../tianKai/uploador.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'uploador.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 67
+#error "This file was generated using the moc from 5.9.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_UpLoador_t {
+    QByteArrayData data[6];
+    char stringdata0[48];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+    Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+    qptrdiff(offsetof(qt_meta_stringdata_UpLoador_t, stringdata0) + ofs \
+        - idx * sizeof(QByteArrayData)) \
+    )
+static const qt_meta_stringdata_UpLoador_t qt_meta_stringdata_UpLoador = {
+    {
+QT_MOC_LITERAL(0, 0, 8), // "UpLoador"
+QT_MOC_LITERAL(1, 9, 12), // "unpackSignal"
+QT_MOC_LITERAL(2, 22, 0), // ""
+QT_MOC_LITERAL(3, 23, 6), // "myRead"
+QT_MOC_LITERAL(4, 30, 10), // "unpackSlot"
+QT_MOC_LITERAL(5, 41, 6) // "buffer"
+
+    },
+    "UpLoador\0unpackSignal\0\0myRead\0unpackSlot\0"
+    "buffer"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_UpLoador[] = {
+
+ // content:
+       7,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       3,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags
+       1,    1,   29,    2, 0x06 /* Public */,
+
+ // slots: name, argc, parameters, tag, flags
+       3,    0,   32,    2, 0x08 /* Private */,
+       4,    1,   33,    2, 0x08 /* Private */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QByteArray,    2,
+
+ // slots: parameters
+    QMetaType::Void,
+    QMetaType::Void, QMetaType::QByteArray,    5,
+
+       0        // eod
+};
+
+void UpLoador::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        UpLoador *_t = static_cast<UpLoador *>(_o);
+        Q_UNUSED(_t)
+        switch (_id) {
+        case 0: _t->unpackSignal((*reinterpret_cast< QByteArray(*)>(_a[1]))); break;
+        case 1: _t->myRead(); break;
+        case 2: _t->unpackSlot((*reinterpret_cast< QByteArray(*)>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            typedef void (UpLoador::*_t)(QByteArray );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpLoador::unpackSignal)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject UpLoador::staticMetaObject = {
+    { &QObject::staticMetaObject, qt_meta_stringdata_UpLoador.data,
+      qt_meta_data_UpLoador,  qt_static_metacall, nullptr, nullptr}
+};
+
+
+const QMetaObject *UpLoador::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *UpLoador::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_UpLoador.stringdata0))
+        return static_cast<void*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int UpLoador::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 3)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 3;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 3)
+            *reinterpret_cast<int*>(_a[0]) = -1;
+        _id -= 3;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void UpLoador::unpackSignal(QByteArray _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.o"
new file mode 100644
index 0000000..0126884
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.cpp"
index 3af581b..4a5d45a 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.cpp"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.cpp"
@@ -21,8 +21,8 @@
 QT_WARNING_PUSH
 QT_WARNING_DISABLE_DEPRECATED
 struct qt_meta_stringdata_VCSMainWindow_t {
-    QByteArrayData data[6];
-    char stringdata0[109];
+    QByteArrayData data[7];
+    char stringdata0[121];
 };
 #define QT_MOC_LITERAL(idx, ofs, len) \
     Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -36,12 +36,14 @@
 QT_MOC_LITERAL(2, 36, 0), // ""
 QT_MOC_LITERAL(3, 37, 23), // "on_pushButton_2_clicked"
 QT_MOC_LITERAL(4, 61, 23), // "on_pushButton_4_clicked"
-QT_MOC_LITERAL(5, 85, 23) // "on_pushButton_3_clicked"
+QT_MOC_LITERAL(5, 85, 23), // "on_pushButton_3_clicked"
+QT_MOC_LITERAL(6, 109, 11) // "addFileSlot"
 
     },
     "VCSMainWindow\0on_pushButton_clicked\0"
     "\0on_pushButton_2_clicked\0"
-    "on_pushButton_4_clicked\0on_pushButton_3_clicked"
+    "on_pushButton_4_clicked\0on_pushButton_3_clicked\0"
+    "addFileSlot"
 };
 #undef QT_MOC_LITERAL
 
@@ -51,7 +53,7 @@
        7,       // revision
        0,       // classname
        0,    0, // classinfo
-       4,   14, // methods
+       5,   14, // methods
        0,    0, // properties
        0,    0, // enums/sets
        0,    0, // constructors
@@ -59,16 +61,18 @@
        0,       // signalCount
 
  // slots: name, argc, parameters, tag, flags
-       1,    0,   34,    2, 0x08 /* Private */,
-       3,    0,   35,    2, 0x08 /* Private */,
-       4,    0,   36,    2, 0x08 /* Private */,
-       5,    0,   37,    2, 0x08 /* Private */,
+       1,    0,   39,    2, 0x08 /* Private */,
+       3,    0,   40,    2, 0x08 /* Private */,
+       4,    0,   41,    2, 0x08 /* Private */,
+       5,    0,   42,    2, 0x08 /* Private */,
+       6,    2,   43,    2, 0x08 /* Private */,
 
  // slots: parameters
     QMetaType::Void,
     QMetaType::Void,
     QMetaType::Void,
     QMetaType::Void,
+    QMetaType::Void, QMetaType::QString, QMetaType::QString,    2,    2,
 
        0        // eod
 };
@@ -83,10 +87,10 @@
         case 1: _t->on_pushButton_2_clicked(); break;
         case 2: _t->on_pushButton_4_clicked(); break;
         case 3: _t->on_pushButton_3_clicked(); break;
+        case 4: _t->addFileSlot((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
         default: ;
         }
     }
-    Q_UNUSED(_a);
 }
 
 const QMetaObject VCSMainWindow::staticMetaObject = {
@@ -114,13 +118,13 @@
     if (_id < 0)
         return _id;
     if (_c == QMetaObject::InvokeMetaMethod) {
-        if (_id < 4)
+        if (_id < 5)
             qt_static_metacall(this, _c, _id, _a);
-        _id -= 4;
+        _id -= 5;
     } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
-        if (_id < 4)
+        if (_id < 5)
             *reinterpret_cast<int*>(_a[0]) = -1;
-        _id -= 4;
+        _id -= 5;
     }
     return _id;
 }
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.o"
index 9ebce86..4aa6ad0 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.o"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/tianKai.exe" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/tianKai.exe"
index 0959ff5..be7d539 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/tianKai.exe"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/tianKai.exe"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/uploador.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/uploador.o"
new file mode 100644
index 0000000..b8dda45
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/uploador.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/vcsmainwindow.o" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/vcsmainwindow.o"
index bcfffc1..c40db3e 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/vcsmainwindow.o"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/vcsmainwindow.o"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Debug" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Debug"
index 09f0ccb..6b0537d 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Debug"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Debug"
@@ -5,9 +5,13 @@
 ./debug\release.o
 ./debug\rollback.o
 ./debug\readlog.o
+./debug\uploador.o
+./debug\heartbeatworker.o
 ./debug\moc_vcsmainwindow.o
 ./debug\moc_addfile.o
 ./debug\moc_release.o
 ./debug\moc_rollback.o
 ./debug\moc_readlog.o
+./debug\moc_uploador.o
+./debug\moc_heartbeatworker.o
 );
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Release" "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Release"
index 6547b37..bc932dd 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Release"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/object_script.tianKai.Release"
@@ -5,9 +5,13 @@
 ./release\release.o
 ./release\rollback.o
 ./release\readlog.o
+./release\uploador.o
+./release\heartbeatworker.o
 ./release\moc_vcsmainwindow.o
 ./release\moc_addfile.o
 ./release\moc_release.o
 ./release\moc_rollback.o
 ./release\moc_readlog.o
+./release\moc_uploador.o
+./release\moc_heartbeatworker.o
 );
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/addfile.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/addfile.cpp"
index 2790fc0..0601789 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/addfile.cpp"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/addfile.cpp"
@@ -1,7 +1,13 @@
 #include "addfile.h"
 #include "ui_addfile.h"
-
 #include <QFileDialog>
+#include <QDebug>
+#include <QDateTime>
+#include <QString>
+
+#define DEFAULT_PATH ("E:\soft")
+#define DEFAULT_TYPE (tr("Pkg Files (*.zip *.tar.gz *.rar *.7z *.bz2)"))
+#define UPLOAD 10
 
 AddFile::AddFile(QWidget *parent) :
     QMainWindow(parent),
@@ -18,11 +24,36 @@
 {
     QString filePath = QFileDialog::getOpenFileName(this,
                                             tr("閫夋嫨鏂囦欢"),
-                                            "C:",
-                                            tr("Pkg Files (*.zip *.tar.gz *.rar *.7z *.bz2)"));
+                                            DEFAULT_PATH,
+                                            DEFAULT_TYPE);
     if(filePath.isEmpty()){
         return;
     }
     ui->lineEdit->setText(filePath);
+    QFileInfo fileInfo(filePath);
+    ui->lineEdit_2->setText(fileInfo.path());
 }
+void AddFile::on_pushButton_clicked()
+{
 
+    QString file = ui->lineEdit->text();
+    QFileInfo fileInfo(file);
+    QString sourcePath = fileInfo.path();
+    QString targetPath = ui->lineEdit_3->text();
+    QString version = ui->lineEdit_4->text();
+    QString parentVersion = ui->comboBox->currentText();
+    QDateTime createDate = fileInfo.lastModified();
+    QString description = ui->textEdit->document()->toPlainText();
+
+    QString versionMessage;
+    versionMessage =      targetPath + "#"
+                        + version + "#"
+                        + parentVersion + "#"
+                        + createDate.toString() + "#"
+                        + description;
+    qDebug()<<versionMessage;
+
+    emit addFileSignal(file, versionMessage);
+
+
+}
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/addfile.h" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/addfile.h"
index b64c0e7..a4fe1d1 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/addfile.h"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/addfile.h"
@@ -3,6 +3,8 @@
 
 #include <QMainWindow>
 #include "addfile.h"
+#include <struct_data.h>
+#include "uploador.h"
 namespace Ui {
 class AddFile;
 }
@@ -15,12 +17,17 @@
     explicit AddFile(QWidget *parent = 0);
     ~AddFile();
 
+signals:
+    void addFileSignal(QString, QString);
 private slots:
     void on_pushButton_3_clicked();
+    void on_pushButton_clicked();
+
 private:
     Ui::AddFile *ui;
-
-
+    UpLoador *m_upLoad;
 };
 
 #endif // ADDFILE_H
+
+
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/heartbeatworker.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/heartbeatworker.cpp"
new file mode 100644
index 0000000..3b9a9aa
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/heartbeatworker.cpp"
@@ -0,0 +1,55 @@
+// heartbeatworker.cpp
+#include "heartbeatworker.h"
+#include "uploador.h" // 鍖呭惈蹇呰鐨勫ご鏂囦欢
+#define HEARTBEAT_INTERVAL 5000
+HeartbeatWorker::HeartbeatWorker(QTcpSocket* socket, QObject *parent)
+    : QObject(parent), m_socket(socket), m_heartCheckTimes(HEART_CHECK_TIMES)
+{
+    m_timer = new QTimer(this);
+    connect(m_timer, &QTimer::timeout, this, &HeartbeatWorker::checkHeartbeat);
+}
+
+HeartbeatWorker::~HeartbeatWorker()
+{
+    stop();
+    delete m_timer;
+}
+
+void HeartbeatWorker::start()
+{
+    m_timer->start(HEARTBEAT_INTERVAL); // 鍋囪瀹氫箟浜嗗績璺抽棿闅�
+}
+
+void HeartbeatWorker::stop()
+{
+    m_timer->stop();
+}
+
+void HeartbeatWorker::checkHeartbeat() {
+    if(!m_socket) return;
+
+    // 閫氳繃淇″彿妲借姹備富绾跨▼鍙戦�佸績璺冲寘
+    emit requestHeartbeat();
+}
+
+void HeartbeatWorker::handleReconnect()
+{
+    reconnect();
+}
+
+void HeartbeatWorker::reconnect()
+{
+    if(m_socket) {
+        m_socket->abort();
+        m_socket->connectToHost("192.168.1.2", 8888);
+
+        if(m_socket->waitForConnected(3000)) {
+            qDebug() << "Reconnected successfully";
+            m_heartCheckTimes = HEART_CHECK_TIMES;
+        } else {
+            qDebug() << "Reconnect failed:" << m_socket->errorString();
+            // 鍙互娣诲姞鎸囨暟閫�閬块噸璇曢�昏緫
+            QTimer::singleShot(5000, this, &HeartbeatWorker::handleReconnect);
+        }
+    }
+}
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/heartbeatworker.h" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/heartbeatworker.h"
new file mode 100644
index 0000000..1d36b33
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/heartbeatworker.h"
@@ -0,0 +1,34 @@
+#ifndef HEARTBEATWORKER_H
+#define HEARTBEATWORKER_H
+
+// heartbeatworker.h
+#include <QObject>
+#include <QTcpSocket>
+#include <QTimer>
+
+class HeartbeatWorker : public QObject
+{
+    Q_OBJECT
+public:
+    explicit HeartbeatWorker(QTcpSocket* socket, QObject *parent = nullptr);
+    ~HeartbeatWorker();
+signals:
+    void requestHeartbeat();
+public slots:
+    void start();
+    void stop();
+
+private slots:
+    void checkHeartbeat();
+    void handleReconnect();
+
+private:
+    QTcpSocket* m_socket;
+    QTimer* m_timer;
+    int m_heartCheckTimes;
+    void reconnect();
+};
+
+
+
+#endif // HEARTBEATWORKER_H
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/main.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/main.cpp"
index 7419954..a80b2ec 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/main.cpp"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/main.cpp"
@@ -1,12 +1,19 @@
 #include "vcsmainwindow.h"
 #include <QApplication>
+#include <csignal>
+void crashHandler(int sig) {
+    qDebug() << "Crash signal:" << sig;
+    exit(1);
+}
 
 int main(int argc, char *argv[])
 {
+    signal(SIGSEGV, crashHandler);
     QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
     QApplication a(argc, argv);
     VCSMainWindow w;
     w.show();
 
+
     return a.exec();
 }
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/struct_data.h" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/struct_data.h"
new file mode 100644
index 0000000..474bb2d
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/struct_data.h"
@@ -0,0 +1,77 @@
+#ifndef STRUCT_DATA_H
+#define STRUCT_DATA_H
+
+
+enum TypeInfo{
+    UPLOAD_REQ = 100,
+    HEAD_UPLOAD_REQ,
+    DATA_UPLOAD_REQ,
+    UP_LOAD_FIN,
+    UPLOAD_SQL_REQ,
+    HEART_CHECK_REQ,
+    HEART_CHECK_RES
+};
+// 娑堟伅澶�
+struct Head{
+    int len;
+    short type;
+};
+
+// 鏂囦欢澶�
+struct UpLoadPkgHead{
+    Head head;
+    int upLoadType;
+    int fileNameLen;
+    char fileName[0];
+};
+
+// 鏂囦欢鏁版嵁
+struct UpLoadPkgData{
+    Head head;
+    int upLoadType;
+    int fileNameLen;
+    int dataLen;
+    int flag;
+    char data[0];
+};
+// 浼犺緭缁撴潫
+struct UpLoadPkgFin{
+    Head head;
+    int upLoadType;
+    int fileNameLen;
+    int verSionLen;
+    int cnt;
+    char fileName[0];
+};
+
+// SQL缁撴瀯浣�
+struct SQLData{
+
+
+
+};
+struct SQLPkg{
+    Head head;
+
+};
+
+struct HeartCheckReq  // 蹇冭烦璇锋眰鍖�
+{
+    Head head;
+    HeartCheckReq()
+    {
+        head.type = HEART_CHECK_REQ;
+        head.len = sizeof(HeartCheckReq);
+    }
+};
+
+struct HeartCheckRes  // 蹇冭烦鍝嶅簲鍖�
+{
+    Head head;
+    HeartCheckRes()
+    {
+        head.type = HEART_CHECK_RES;
+        head.len = sizeof(HeartCheckRes);
+    }
+};
+#endif // STRUCT_DATA_H
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/tianKai.pro" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/tianKai.pro"
index 2366211..5e5d417 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/tianKai.pro"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/tianKai.pro"
@@ -5,6 +5,7 @@
 #-------------------------------------------------
 
 QT       += core gui
+QT       += network
 
 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
@@ -29,14 +30,19 @@
     addfile.cpp \
     release.cpp \
     rollback.cpp \
-    readlog.cpp
+    readlog.cpp \
+    uploador.cpp \
+    heartbeatworker.cpp
 
 HEADERS += \
         vcsmainwindow.h \
     addfile.h \
     release.h \
     rollback.h \
-    readlog.h
+    readlog.h \
+    struct_data.h \
+    uploador.h \
+    heartbeatworker.h
 
 FORMS += \
         vcsmainwindow.ui \
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/tianKai.pro.user" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/tianKai.pro.user"
index 6a3ee2e..3640a29 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/tianKai.pro.user"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/tianKai.pro.user"
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.5.0, 2025-07-24T09:24:07. -->
+<!-- Written by QtCreator 4.5.0, 2025-07-28T12:08:12. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/uploador.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/uploador.cpp"
new file mode 100644
index 0000000..299449c
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/uploador.cpp"
@@ -0,0 +1,104 @@
+#include "uploador.h"
+//#include "struct_data.h"
+UpLoador::UpLoador(QObject *parent) : QObject(parent)
+{
+    m_client = new QTcpSocket(this);
+        m_client->connectToHost("192.168.1.2", 8888);
+
+        if(m_client->waitForConnected()){
+            qDebug() << "ok";
+
+            // 鍒涘缓蹇冭烦宸ヤ綔绾跨▼
+            m_heartbeatThread = new QThread(this);
+            m_heartbeatWorker = new HeartbeatWorker(m_client);
+            m_heartbeatWorker->moveToThread(m_heartbeatThread);
+
+            connect(m_heartbeatThread, &QThread::started, m_heartbeatWorker, &HeartbeatWorker::start);
+            connect(m_heartbeatThread, &QThread::finished, m_heartbeatWorker, &HeartbeatWorker::deleteLater);
+
+            m_heartbeatThread->start();
+
+            // 鍘熸湁淇″彿妲借繛鎺�
+            connect(this, SIGNAL(unpackSignal(QByteArray)), this, SLOT(unpackSlot(QByteArray)));
+            connect(m_client, SIGNAL(readyRead()), this, SLOT(myRead()));
+            connect(m_heartbeatWorker, &HeartbeatWorker::requestHeartbeat,
+                    this, [this](){
+                        if(m_client) {
+                            HeartCheckReq req;
+                            qDebug()<<"heart checking...";
+                            m_client->write((char*)&req, sizeof(req));
+                        }
+                    }, Qt::QueuedConnection);
+        } else {
+            qDebug() << "conn err";
+        }
+}
+
+UpLoador::~UpLoador()
+{
+
+    if(m_heartbeatThread) {
+        m_heartbeatThread->quit();
+        m_heartbeatThread->wait(1000);
+        delete m_heartbeatThread;
+    }
+}
+
+int UpLoador::upfile(char* data, int rlen)
+{
+    if(data == nullptr || rlen <= 0){
+        return -1;
+    }
+    if(m_client){
+        int len = m_client->write((char*)data,rlen);
+        qDebug()<<len;
+        return len;
+    }
+}
+
+void UpLoador::myRead()
+{
+    if(!m_client || m_client->state() != QAbstractSocket::ConnectedState) {
+            qDebug() << "Cannot read - not connected";
+            return;
+        }
+
+        while(m_client->bytesAvailable() > 0) {
+            QByteArray buffer = m_client->readAll();
+            if(buffer.isEmpty()) {
+                qDebug() << "Read empty data";
+                continue;
+            }
+
+            qDebug() << "Received data:" << buffer.toHex();
+
+            // 澶勭悊绮樺寘闂
+            m_buffer.append(buffer);
+            processBuffer();
+        }
+}
+
+
+
+void UpLoador::unpackSlot(QByteArray buffer)
+{
+
+}
+void UpLoador::processBuffer() {
+    while(m_buffer.size() >= sizeof(Head)) {
+        const Head* head = reinterpret_cast<const Head*>(m_buffer.constData());
+
+        // 娣诲姞闀垮害鏍¢獙
+        if(head->len <= 0 || head->len > 10 * 1024 * 1024) { // 鍋囪鏈�澶�10MB
+            m_buffer.clear();
+            qWarning() << "Invalid packet length";
+            return;
+        }
+
+        if(m_buffer.size() < head->len) break;
+
+        QByteArray completePacket = m_buffer.left(head->len);
+        m_buffer.remove(0, head->len);
+        emit unpackSignal(completePacket);
+    }
+}
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/uploador.h" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/uploador.h"
new file mode 100644
index 0000000..6d6b399
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/uploador.h"
@@ -0,0 +1,36 @@
+#ifndef UPLOADOR_H
+#define UPLOADOR_H
+
+#include <QObject>
+#include <QTcpSocket>
+#include <QThread>
+#include <struct_data.h>
+#include "heartbeatworker.h"
+
+#define HEART_CHECK_TIMES 6
+class UpLoador : public QObject
+{
+    Q_OBJECT
+public:
+    explicit UpLoador(QObject *parent = nullptr);
+    ~UpLoador();
+
+
+signals:
+    void unpackSignal(QByteArray);
+private slots:
+    void myRead();
+    void unpackSlot(QByteArray buffer);
+public:
+private:
+    QTcpSocket* m_client;
+    QThread* m_heartbeatThread;
+    HeartbeatWorker* m_heartbeatWorker;
+    QByteArray m_buffer;
+private:
+    void processBuffer();
+public:
+    int upfile(char* data, int rlen);
+};
+
+#endif // UPLOADOR_H
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/vcsmainwindow.cpp" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/vcsmainwindow.cpp"
index 60f1d41..a711c3e 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/vcsmainwindow.cpp"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/vcsmainwindow.cpp"
@@ -1,6 +1,8 @@
 #include "vcsmainwindow.h"
 #include "ui_vcsmainwindow.h"
 
+#include <QFileInfo>
+#include <QMessageBox>
 VCSMainWindow::VCSMainWindow(QWidget *parent) :
     QMainWindow(parent),
     ui(new Ui::VCSMainWindow)
@@ -10,13 +12,18 @@
     m_release = new Release(this);
     m_rollBack = new RollBack(this);
     m_readLog = new ReadLog(this);
+    m_upLoad = new UpLoador(this);
+    m_msg = new QMessageBox(this);
 
     ui->stackedWidget->addWidget(m_addFile);
     ui->stackedWidget->addWidget(m_release);
     ui->stackedWidget->addWidget(m_rollBack);
     ui->stackedWidget->addWidget(m_readLog);
-
     ui->stackedWidget->setCurrentWidget(m_addFile);
+
+
+    connect(m_addFile,SIGNAL(addFileSignal(QString, QString)),this,SLOT(addFileSlot(QString, QString)));
+
 }
 
 VCSMainWindow::~VCSMainWindow()
@@ -43,3 +50,116 @@
 {
     ui->stackedWidget->setCurrentWidget(m_readLog);
 }
+
+void VCSMainWindow::addFileSlot(QString file, QString versionMessage)
+{
+    QFileInfo fileInfo(file);
+    // 鑾峰彇鏂囦欢鍩烘湰淇℃伅
+    QString fileName = fileInfo.fileName();
+    qint64 size = fileInfo.size();
+
+
+
+    //  璁$畻澶存秷鎭暱搴︼紝骞跺垎閰嶇┖闂�
+    int len = sizeof(UpLoadPkgHead)+fileName.size()+1;
+    UpLoadPkgHead *head = (UpLoadPkgHead*)malloc(len);
+
+    // 澶存秷鎭俊鎭~鍏�
+    head->head.type = UPLOAD_REQ;
+    head->head.len = len;
+    head->upLoadType = HEAD_UPLOAD_REQ;
+    head->fileNameLen = fileName.size();
+    memcpy(head->fileName,fileName.data(),fileName.size());
+    head->fileName[fileName.size()] = '\0';
+
+    // 鍙戦�佸ご娑堟伅
+
+    int ret = m_upLoad->upfile((char*)head,len);
+    if(ret < len){
+        qDebug()<<"浼犺緭鏈夐棶棰�: ";
+        free(head);
+        head = nullptr;
+        return ;
+    }
+    free(head);
+    head = nullptr;
+    QFile *pFile = new QFile(file);
+    if(!pFile){
+        return;
+    }
+
+    // 璇绘枃浠跺唴瀹�
+
+    if (!pFile->open(QIODevice::ReadOnly)) {
+        qDebug() << "Failed to open file for reading:" << pFile->errorString();
+        m_msg->warning(nullptr, "鎻愮ず", "鏂囦欢鎵撳紑澶辫触");
+        return;
+    }
+    const int bufferSize = 8 * 1024;
+    char buffer[bufferSize] = {0};
+
+    qint64 totalBytesRead = 0;
+    int flag = 0;
+    while (!pFile->atEnd()) {
+        qint64 bytesRead = pFile->read(buffer, bufferSize);
+        if (bytesRead == -1) {
+            qDebug() << "Error during read operation:" << pFile->errorString();
+            break;
+        }
+        totalBytesRead += bytesRead;
+        int dtlen = sizeof(UpLoadPkgData)+fileName.size()+bytesRead+2;
+        UpLoadPkgData *dataPkg = (UpLoadPkgData *)malloc(dtlen);
+        memset(dataPkg, 0, dtlen);
+        dataPkg->head.len = len;
+        dataPkg->head.type = UPLOAD_REQ;
+        dataPkg->upLoadType = DATA_UPLOAD_REQ;
+        dataPkg->fileNameLen = fileName.size();
+        dataPkg->dataLen = bytesRead;
+        dataPkg->flag = ++flag;
+        memcpy(dataPkg->data,fileName.data(),fileName.size());
+        dataPkg->data[fileName.size()] = '\0';
+        strcpy(&(dataPkg->data[fileName.size()+1]),buffer);
+        ret = m_upLoad->upfile((char*)dataPkg,dtlen);
+        if(ret < dtlen){
+            qDebug()<<"鏁版嵁浼犺緭鏈夐棶棰�";
+            free(dataPkg);
+            dataPkg = nullptr;
+            m_msg->warning(nullptr, "鎻愮ず", "鏁版嵁浼犺緭鏈夐棶棰�");
+            return ;
+        }
+        free(dataPkg);
+        dataPkg = nullptr;
+    }
+    if(totalBytesRead != size){
+        qDebug()<<"鏁版嵁鍙戦�佷笉瀹屾暣";
+        m_msg->warning(nullptr, "鎻愮ず", "鏁版嵁鍙戦�佷笉瀹屾暣");
+        return;
+    }
+    qDebug()<<"鏁版嵁鍙戦�佸畬鎴愶紝鍙戦�佹暟鎹簱鍖�";
+
+    int finLen = sizeof(UpLoadPkgFin)+fileName.size()+versionMessage.size()+2;
+    UpLoadPkgFin *finPkg = (UpLoadPkgFin *)malloc(finLen);
+    finPkg->head.len = finLen;
+    finPkg->head.type = UPLOAD_REQ;
+    finPkg->fileNameLen = fileName.size();
+    finPkg->cnt = flag;
+    memcpy(finPkg->fileName,fileName.data(),fileName.size());
+    finPkg->fileName[fileName.size()] = '\0';
+    memcpy(&(finPkg->fileName[fileName.size()+1]),versionMessage.data(),versionMessage.size());
+    finPkg->fileName[fileName.size()+versionMessage.size()+1] = '\0';
+
+    ret = m_upLoad->upfile((char*)finPkg,finLen);
+    if(ret < finLen){
+        qDebug()<<"fin鍖呬紶杈撴湁闂";
+        free(finPkg);
+        finPkg = nullptr;
+        m_msg->warning(nullptr, "鎻愮ず", "涓婁紶澶辫触锛�");
+        return ;
+    }
+    free(finPkg);
+    finPkg = nullptr;
+    qDebug()<<"鏁版嵁搴撳寘鍙戦�佸畬鎴�";
+
+    m_msg->information(nullptr, "鎻愮ず", "涓婁紶鎴愬姛锛�");
+
+}
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/vcsmainwindow.h" "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/vcsmainwindow.h"
index a65aa9e..bc61f25 100644
--- "a/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/vcsmainwindow.h"
+++ "b/Server/\344\273\230\346\236\227\346\266\233/code/tianKai/vcsmainwindow.h"
@@ -2,10 +2,13 @@
 #define VCSMAINWINDOW_H
 
 #include <QMainWindow>
+#include <QMessageBox>
+#include <QTimer>
 #include "addfile.h"
 #include "release.h"
 #include "rollback.h"
 #include "readlog.h"
+#include "uploador.h"
 namespace Ui {
 class VCSMainWindow;
 }
@@ -27,12 +30,18 @@
 
     void on_pushButton_3_clicked();
 
+    void addFileSlot(QString, QString);
+
 private:
     Ui::VCSMainWindow *ui;
     AddFile     *m_addFile;
     Release     *m_release;
     RollBack    *m_rollBack;
     ReadLog     *m_readLog;
+    UpLoador    *m_upLoad;
+    QMessageBox *m_msg;
+//    QTimer* m_heartCheckTimer;
+
 };
 
 #endif // VCSMAINWINDOW_H
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/log/\346\227\245\345\277\227_\344\273\230\346\236\227\346\266\233_0726.doc" "b/Server/\344\273\230\346\236\227\346\266\233/log/\346\227\245\345\277\227_\344\273\230\346\236\227\346\266\233_0726.doc"
new file mode 100644
index 0000000..9f83358
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/log/\346\227\245\345\277\227_\344\273\230\346\236\227\346\266\233_0726.doc"
Binary files differ
diff --git "a/Server/\345\210\230\345\210\233\344\270\226/log/\346\227\245\345\277\227_\345\210\230\345\210\233\344\270\226_2025-07-28.doc" "b/Server/\345\210\230\345\210\233\344\270\226/log/\346\227\245\345\277\227_\345\210\230\345\210\233\344\270\226_2025-07-28.doc"
new file mode 100644
index 0000000..50cdcfd
--- /dev/null
+++ "b/Server/\345\210\230\345\210\233\344\270\226/log/\346\227\245\345\277\227_\345\210\230\345\210\233\344\270\226_2025-07-28.doc"
Binary files differ
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro"
index 281555c..b088235 100644
--- "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro"
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro"
@@ -25,10 +25,20 @@
 
 SOURCES += \
         main.cpp \
-        gb_mon_subsystem_mainwindow.cpp
+        gb_mon_subsystem_mainwindow.cpp \
+    videostoragemanager.cpp \
+    systemdaemon.cpp \
+    systemmonitor.cpp \
+    performancechart.cpp \
+    databasemanager.cpp
 
 HEADERS += \
-        gb_mon_subsystem_mainwindow.h
+        gb_mon_subsystem_mainwindow.h \
+    videostoragemanager.h \
+    systemdaemon.h \
+    systemmonitor.h \
+    performancechart.h \
+    databasemanager.h
 
 FORMS += \
         gb_mon_subsystem_mainwindow.ui
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user"
index c5ea373..82b3c83 100644
--- "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user"
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user"
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.5.0, 2025-07-24T15:02:24. -->
+<!-- Written by QtCreator 4.5.0, 2025-07-25T18:29:49. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.cpp"
new file mode 100644
index 0000000..2a605aa
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.cpp"
@@ -0,0 +1,6 @@
+#include "databasemanager.h"
+
+DatabaseManager::DatabaseManager()
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.h"
new file mode 100644
index 0000000..c10be60
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.h"
@@ -0,0 +1,23 @@
+#ifndef DATABASEMANAGER_H
+#define DATABASEMANAGER_H
+
+
+class DatabaseManager {
+public:
+    static DatabaseManager& instance();
+
+    bool logEvent(const QString &eventType, const QString &description,
+                 const QString &cameraId = QString());
+
+    bool storePerformanceData(double cpuUsage, double memoryUsage);
+
+    QVector<EventRecord> queryEvents(const QDateTime &from,
+                                    const QDateTime &to,
+                                    const QString &cameraId = QString());
+
+private:
+    DatabaseManager();
+    QSqlDatabase m_db;
+};
+
+#endif // DATABASEMANAGER_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h"
index f2f1156..ef2156f 100644
--- "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h"
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h"
@@ -2,21 +2,40 @@
 #define GB_MON_SUBSYSTEM_MAINWINDOW_H
 
 #include <QMainWindow>
+#include <VideoStorageManager>
+#include <SystemMonitor>
+#include <PerformanceChart>
+#include <AlertProcessor>
+#include <QThread>
 
 namespace Ui {
 class GB_Mon_Subsystem_MainWindow;
 }
 
-class GB_Mon_Subsystem_MainWindow : public QMainWindow
-{
+class GB_Mon_Subsystem_MainWindow : public QMainWindow {
     Q_OBJECT
-
 public:
-    explicit GB_Mon_Subsystem_MainWindow(QWidget *parent = 0);
+    GB_Mon_Subsystem_MainWindow(QWidget *parent = nullptr);
     ~GB_Mon_Subsystem_MainWindow();
 
+private slots:
+    void updatePerformanceCharts();
+    void handleNewAlert(const Alert &alert);
+    void handleDatabaseError(const QString &error);
+
 private:
-    Ui::GB_Mon_Subsystem_MainWindow *ui;
+    void setupThreads();
+    void setupConnections();
+
+    VideoStorageManager *m_videoManager;
+    SystemMonitor *m_systemMonitor;
+    PerformanceChart *m_performanceChart;
+    AlertProcessor *m_alertProcessor;
+
+    QThread *m_storageThread;
+    QThread *m_monitorThread;
 };
 
+
+
 #endif // GB_MON_SUBSYSTEM_MAINWINDOW_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui"
index e788bbf..9b4abda 100644
--- "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui"
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui"
@@ -6,81 +6,14 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1001</width>
-    <height>585</height>
+    <width>1086</width>
+    <height>752</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>GB_Mon_Subsystem_MainWindow</string>
   </property>
-  <widget class="QWidget" name="centralWidget">
-   <widget class="QPushButton" name="pushButton">
-    <property name="geometry">
-     <rect>
-      <x>150</x>
-      <y>310</y>
-      <width>93</width>
-      <height>28</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>PushButton</string>
-    </property>
-   </widget>
-   <widget class="QPushButton" name="pushButton_2">
-    <property name="geometry">
-     <rect>
-      <x>640</x>
-      <y>310</y>
-      <width>93</width>
-      <height>28</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>PushButton</string>
-    </property>
-   </widget>
-   <widget class="QTableWidget" name="tableWidget">
-    <property name="geometry">
-     <rect>
-      <x>150</x>
-      <y>60</y>
-      <width>581</width>
-      <height>211</height>
-     </rect>
-    </property>
-    <row>
-     <property name="text">
-      <string>鏂板缓琛�</string>
-     </property>
-    </row>
-    <row>
-     <property name="text">
-      <string>鏂板缓琛�</string>
-     </property>
-    </row>
-    <row>
-     <property name="text">
-      <string>鏂板缓琛�</string>
-     </property>
-    </row>
-    <column>
-     <property name="text">
-      <string>纾佺洏璇诲叆</string>
-     </property>
-    </column>
-    <column>
-     <property name="text">
-      <string>纾佺洏鍐�</string>
-     </property>
-    </column>
-    <column>
-     <property name="text">
-      <string>cpu浣跨敤鐜�</string>
-     </property>
-    </column>
-   </widget>
-  </widget>
+  <widget class="QWidget" name="centralWidget"/>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
  <resources/>
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.cpp"
new file mode 100644
index 0000000..d6c9432
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.cpp"
@@ -0,0 +1,6 @@
+#include "performancechart.h"
+
+PerformanceChart::PerformanceChart()
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.h"
new file mode 100644
index 0000000..f1369b8
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.h"
@@ -0,0 +1,29 @@
+#ifndef PERFORMANCECHART_H
+#define PERFORMANCECHART_H
+
+
+class MonitoringSystem : public QMainWindow {
+    Q_OBJECT
+public:
+    MonitoringSystem(QWidget *parent = nullptr);
+    ~MonitoringSystem();
+
+private slots:
+    void updatePerformanceCharts();
+    void handleNewAlert(const Alert &alert);
+    void handleDatabaseError(const QString &error);
+
+private:
+    void setupThreads();
+    void setupConnections();
+
+    VideoStorageManager *m_videoManager;
+    SystemMonitor *m_systemMonitor;
+    PerformanceChart *m_performanceChart;
+    AlertProcessor *m_alertProcessor;
+
+    QThread *m_storageThread;
+    QThread *m_monitorThread;
+};
+
+#endif // PERFORMANCECHART_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.cpp"
new file mode 100644
index 0000000..b4febdf
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.cpp"
@@ -0,0 +1,6 @@
+#include "systemdaemon.h"
+
+SystemDaemon::SystemDaemon(QObject *parent) : QObject(parent)
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.h"
new file mode 100644
index 0000000..3bc9479
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.h"
@@ -0,0 +1,23 @@
+#ifndef SYSTEMDAEMON_H
+#define SYSTEMDAEMON_H
+
+#include <QObject>
+
+class SystemMonitor : public QObject {
+    Q_OBJECT
+public:
+    SystemMonitor(QObject *parent = nullptr);
+
+    double currentCpuUsage() const;
+    double memoryUsage() const;
+
+signals:
+    void systemStatsUpdated(double cpuUsage, double memoryUsage);
+
+private:
+    QTimer *m_monitorTimer;
+    qint64 m_lastCpuIdle;
+    qint64 m_lastCpuTotal;
+};
+
+#endif // SYSTEMDAEMON_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.cpp"
new file mode 100644
index 0000000..00fbb6b
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.cpp"
@@ -0,0 +1,6 @@
+#include "systemmonitor.h"
+
+SystemMonitor::SystemMonitor(QObject *parent) : QObject(parent)
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.h"
new file mode 100644
index 0000000..5c9fe8c
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.h"
@@ -0,0 +1,17 @@
+#ifndef SYSTEMMONITOR_H
+#define SYSTEMMONITOR_H
+
+#include <QObject>
+
+class SystemMonitor : public QObject
+{
+    Q_OBJECT
+public:
+    explicit SystemMonitor(QObject *parent = nullptr);
+
+signals:
+
+public slots:
+};
+
+#endif // SYSTEMMONITOR_H
\ No newline at end of file
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.cpp"
new file mode 100644
index 0000000..fd9cdfd
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.cpp"
@@ -0,0 +1,6 @@
+#include "videostoragemanager.h"
+
+VideoStorageManager::VideoStorageManager(QObject *parent) : QObject(parent)
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.h"
new file mode 100644
index 0000000..b97b89a
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.h"
@@ -0,0 +1,28 @@
+#ifndef VIDEOSTORAGEMANAGER_H
+#define VIDEOSTORAGEMANAGER_H
+
+#include <QObject>
+
+class VideoStorageManager : public QObject {
+    Q_OBJECT
+public:
+    explicit VideoStorageManager(QObject *parent = nullptr);
+
+    // 瀛樺偍瑙嗛鐗囨
+    bool storeVideo(const QString &cameraId, const QByteArray &videoData,
+                   const QDateTime &timestamp);
+
+    // 妫�绱㈣棰戠墖娈�
+    QByteArray retrieveVideo(const QString &cameraId,
+                            const QDateTime &startTime,
+                            const QDateTime &endTime);
+
+    // 瑙嗛鏂囦欢娓呯悊绛栫暐
+    void applyRetentionPolicy(int maxDays);
+
+private:
+    QString m_storagePath;
+    QMutex m_mutex;
+};
+
+#endif // VIDEOSTORAGEMANAGER_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/log/\346\227\245\345\277\227_Dgq_250726 .docx" "b/Server/\346\235\234\345\233\275\345\272\206/log/\346\227\245\345\277\227_Dgq_250726 .docx"
new file mode 100644
index 0000000..fc11f6d
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/log/\346\227\245\345\277\227_Dgq_250726 .docx"
Binary files differ
diff --git "a/Server/\351\203\255\351\223\255\351\270\277/log/\346\227\245\345\277\227_\351\203\255\351\223\255\351\270\277_0726.doc" "b/Server/\351\203\255\351\223\255\351\270\277/log/\346\227\245\345\277\227_\351\203\255\351\223\255\351\270\277_0726.doc"
new file mode 100644
index 0000000..bc74ebf
--- /dev/null
+++ "b/Server/\351\203\255\351\223\255\351\270\277/log/\346\227\245\345\277\227_\351\203\255\351\223\255\351\270\277_0726.doc"
Binary files differ

--
Gitblit v1.8.0