diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000..bac69ab
--- /dev/null
+++ b/.vscode/c_cpp_properties.json
@@ -0,0 +1,21 @@
+{
+ "configurations": [
+ {
+ "name": "Win32",
+ "includePath": [
+ "${workspaceFolder}/**"
+ ],
+ "defines": [
+ "_DEBUG",
+ "UNICODE",
+ "_UNICODE"
+ ],
+ "windowsSdkVersion": "10.0.22000.0",
+ "compilerPath": "g++.exe",
+ // "cStandard": "c99",
+ "cppStandard": "c++20",
+ "intelliSenseMode": "gcc-x86"
+ }
+ ],
+ "version": 4
+}
\ No newline at end of file
diff --git a/_outputOld/createbase64.bat b/_outputOld/createbase64.bat
new file mode 100644
index 0000000..2a52202
--- /dev/null
+++ b/_outputOld/createbase64.bat
@@ -0,0 +1 @@
+licenceGenerator.exe -cid=9f544930303030300000000b47015423 -csd=400e00325b5900003a0d7f800a40008d -outputType=base64 -configFileName=licData.xml
\ No newline at end of file
diff --git a/_outputOld/createnew.bat b/_outputOld/createnew.bat
new file mode 100644
index 0000000..77416ee
--- /dev/null
+++ b/_outputOld/createnew.bat
@@ -0,0 +1 @@
+licenceGenerator.exe -cid=9f544930303030300000000b47015423 -csd=400e00325b5900003a0d7f800a40008d -outputType=file -configFileName=licData.xml
\ No newline at end of file
diff --git a/_outputOld/ezlic_eovosv0_vaxvcpalxjx.lic b/_outputOld/ezlic_eovosv0_vaxvcpalxjx.lic
new file mode 100644
index 0000000..2c9d5c5
Binary files /dev/null and b/_outputOld/ezlic_eovosv0_vaxvcpalxjx.lic differ
diff --git a/_outputOld/ezlic_eovosv0_vaxvcpalxjx_back.lic b/_outputOld/ezlic_eovosv0_vaxvcpalxjx_back.lic
new file mode 100644
index 0000000..b7f4dd1
Binary files /dev/null and b/_outputOld/ezlic_eovosv0_vaxvcpalxjx_back.lic differ
diff --git a/_outputOld/licData.xml b/_outputOld/licData.xml
new file mode 100644
index 0000000..7cdac51
--- /dev/null
+++ b/_outputOld/licData.xml
@@ -0,0 +1,8 @@
+
+
+ WAGO
+ EOV_OSV
+ Licence pro EOV_OSV
+ ceskatrebova
+ RO1
+
\ No newline at end of file
diff --git a/_outputOld/licenceGenerator b/_outputOld/licenceGenerator
new file mode 100644
index 0000000..d3662c6
Binary files /dev/null and b/_outputOld/licenceGenerator differ
diff --git a/_outputOld/licenceGenerator.exe b/_outputOld/licenceGenerator.exe
new file mode 100644
index 0000000..e69de29
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 68ba18e..6c1b444 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -8,6 +8,9 @@ RUN chmod 755 /app/generate.sh
COPY ./start.sh /app/
RUN chmod 755 /app/start.sh
+COPY ./startok.sh /app/
+RUN chmod 755 /app/startok.sh
+
COPY ./Makefile /app/
ENTRYPOINT ["tail"]
diff --git a/docker/start.sh b/docker/start.sh
index 05c0749..264802a 100644
--- a/docker/start.sh
+++ b/docker/start.sh
@@ -1,7 +1,7 @@
#!/bin/bash
chmod 777 output/licenceGenerator
-#./output/licenceGenerator -cid=9f544930303030300000000b47015423 -csd=400e00325b5900003a0d7f800a40008d -outputType=file -configFileName=licData.xml -licenceFileName=ezlic_eovosv0_vaxvcpalxjx.lic -licenceVersion=1 -licenceType=EOV_OSV
+#./output/licenceGenerator -cid=9f5449534443495461457815de0164a9 -csd=400e00325b5900003be77f800a400043 -outputType=file -configFileName=licData.xml -licenceFileName=ezlic_eovosv0_vaxvcpalxjx.lic -licenceVersion=1 -licenceType=EOV_OSV
cd output
-./licenceGenerator -cid=9f544930303030300000000b47015423 -csd=400e00325b5900003a0d7f800a40008d -outputType=file -configFileName=licData.xml -licenceFileName=ezlic_eovosv0_vaxvcpalxjx.lic -licenceVersion=1 -licenceType=EOV_OSV
\ No newline at end of file
+./licenceGenerator -cid=9f5449534443495461457815de0164a9 -csd=400e00325b5900003be77f800a400043 -outputType=file -configFileName=licData.xml -licenceFileName=ezlic_eovosv0_vaxvcpalxjx.lic -licenceVersion=1 -licenceType=EOV_OSV
\ No newline at end of file
diff --git a/docker/startok.sh b/docker/startok.sh
new file mode 100644
index 0000000..4c6b39e
--- /dev/null
+++ b/docker/startok.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+chmod 777 output/licenceGeneratorok
+
+#./output/licenceGeneratorok -cid=9f5449534443495461457815de0164a9 -csd=400e00325b5900003be77f800a400043 -outputType=file -configFileName=licData.xml -licenceFileName=ezlic_eovosv0_vaxvcpalxjx.lic -licenceVersion=1 -licenceType=EOV_OSV
+
+cd output
+./licenceGeneratorok -cid=9f5449534443495461457815de0164a9 -csd=400e00325b5900003be77f800a400043 -outputType=file -configFileName=licData.xml -licenceFileName=ezlic_eovosv0_vaxvcpalxjx.lic -licenceVersion=1 -licenceType=EOV_OSV
\ No newline at end of file
diff --git a/include/SDCard.h b/include/SDCard.h
new file mode 100644
index 0000000..9ad1918
--- /dev/null
+++ b/include/SDCard.h
@@ -0,0 +1,71 @@
+#ifndef SDCARD_H_
+#define SDCARD_H_
+
+#define CID_LENGTH 32
+#define CSD_LENGTH 32
+
+using namespace std;
+
+typedef uint32_t DWORD;
+typedef uint16_t WORD;
+typedef uint8_t BYTE;
+typedef uint32_t UDINT;
+typedef uint32_t DATE;
+typedef uint8_t USINT;
+typedef int32_t DINT;
+typedef uint16_t UINT;
+typedef int16_t INT;
+
+const BYTE cnibblescount = 32;
+
+const string cidFilePath = "";
+
+class SDCard
+{
+
+
+
+ struct SDCardData
+ {
+ uint8_t isCorrectLoad = 0; // SD karta je korektne nactena //bool vs byte ?
+ uint8_t CID_nibble[32] = {0}; // surova data CID ze souboru
+ uint8_t CID[16] = {0}; // prekodovane CID informace
+ uint8_t manufacturerID = 0; // ID vyrobce 1B -> Byte 15
+ char oemID[2] = {}; // ID aplikace/oem 2B -> Byte 13-14 // oemID: !!STRING(3);
+ char name[5] = {}; // jmeno produktu 5B -> Byte 8-12 !!STRING(6);
+ uint8_t productRevision_hw = 0;
+ uint8_t productRevision_sw = 0;
+ float productRevision = 0; // revize produktu 1B [bcd sh] -> Byte 7, bity 0-3 = revize HW, bity 4-7 = revize SW
+ uint32_t serialNumber = 0; // seriove cislo karty 4B -> Byte 3-6
+ uint16_t manufacturerDate_year = 0;
+ uint8_t manufacturerDate_month = 0;
+ char manufacturerDate[10] = {}; //: STRING(10); // datum vyroby 2B [bcd -yym] -> Byte 1-2, bity 0-3 = mesic, bity 4-11 = posledni cislice roku or roku 2000, bity 12-15 nepouzito
+ uint8_t CRCOK = 0; // CRC 1B -> Byte 0, bity 1-7, bit 0 je vzdy = 1
+ uint8_t CSD_nibble[32] = {}; //: ARRAY [0..31] OF BYTE; // surova data CSD ze souboru
+ uint8_t CSD[16] = {}; //: ARRAY [0..15] OF BYTE; // prekodovane CSD informace
+ uint32_t cardSize = 0; //: UDINT; // velikost SD karty
+ uint8_t cardGSize = 0; // prepocitana velikost na GB
+ };
+
+bool readSDCard();
+bool getCIDFromFile();
+bool getCSDFromFile();
+
+public:
+
+ SDCardData cardData;
+ bool isLoaded = false;
+ char cid[32] = {};
+ char csd[32] = {};
+ string filePath = "";
+ string cidString = ""; //pro předání pro starý generátor
+ string csdString = ""; //pro předání pro starý generátor
+
+ SDCard();
+ SDCard(string cid, string csd);
+ SDCard(const string filesPath);
+
+
+};
+
+#endif
\ No newline at end of file
diff --git a/include/licenceCommon.h b/include/licenceCommon.h
new file mode 100644
index 0000000..65d74f9
--- /dev/null
+++ b/include/licenceCommon.h
@@ -0,0 +1,194 @@
+#ifndef LICENCE_COMMON_H_
+#define LICENCE_COMMON_H_
+
+#include
+#include