diff --git a/Software/.gitignore b/Software/.gitignore
index d321a78..eddc28d 100644
--- a/Software/.gitignore
+++ b/Software/.gitignore
@@ -18,6 +18,9 @@ docs/api/
__pycache__/
*.pyc
+# clangd index cache
+.cache/
+
# Proprietary Si4684 firmware blobs (Skyworks / uGreen — local only, not in git)
Firmware/Si4684-Firmware/*.bin
Firmware/Si4684-Firmware/.ugreen-extract-*/
diff --git a/Software/CMakeLists.txt b/Software/CMakeLists.txt
index ec1a1a4..9fba81d 100644
--- a/Software/CMakeLists.txt
+++ b/Software/CMakeLists.txt
@@ -1,6 +1,5 @@
# DigiRadio firmware — top-level ESP-IDF project
cmake_minimum_required(VERSION 3.16)
-
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# Nested driver/service components live under components/
diff --git a/Software/Firmware/ADAU1701-Firmware/DigiRadio.hex b/Software/Firmware/ADAU1701-Firmware/DigiRadio.hex
index fe22d45..bd61360 100644
--- a/Software/Firmware/ADAU1701-Firmware/DigiRadio.hex
+++ b/Software/Firmware/ADAU1701-Firmware/DigiRadio.hex
@@ -1,3 +1,9 @@
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x6C , 0xAC ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
0x00 , 0x80 , 0x00 , 0x00 ,
0x00 , 0x80 , 0x00 , 0x00 ,
0x00 , 0x80 , 0x00 , 0x00 ,
@@ -1016,10 +1022,4 @@
0x00 , 0x00 , 0x00 , 0x00 ,
0x00 , 0x00 , 0x00 , 0x00 ,
0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
diff --git a/Software/Firmware/ADAU1701-Firmware/DigiRadio.params b/Software/Firmware/ADAU1701-Firmware/DigiRadio.params
index ea5382b..ace2c4d 100644
--- a/Software/Firmware/ADAU1701-Firmware/DigiRadio.params
+++ b/Software/Firmware/ADAU1701-Firmware/DigiRadio.params
@@ -1,6 +1,6 @@
Cell Name = Si4674
Parameter Name = Gain1940AlgNS1
-Parameter Address = 0
+Parameter Address = 3
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -9,7 +9,7 @@ Parameter Data :
Cell Name = Si4674
Parameter Name = Gain1940AlgNS2
-Parameter Address = 1
+Parameter Address = 4
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -18,7 +18,7 @@ Parameter Data :
Cell Name = ESP32
Parameter Name = Gain1940AlgNS3
-Parameter Address = 2
+Parameter Address = 5
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -27,7 +27,7 @@ Parameter Data :
Cell Name = ESP32
Parameter Name = Gain1940AlgNS4
-Parameter Address = 3
+Parameter Address = 6
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -36,7 +36,7 @@ Parameter Data :
Cell Name = St Mixer1
Parameter Name = StereoMixerAlg12
-Parameter Address = 4
+Parameter Address = 9
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -45,7 +45,16 @@ Parameter Data :
Cell Name = St Mixer1
Parameter Name = StereoMixerAlg14
-Parameter Address = 5
+Parameter Address = 10
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = St Mixer1
+Parameter Name = StereoMixerAlg16
+Parameter Address = 11
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -54,7 +63,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan10B1
-Parameter Address = 6
+Parameter Address = 12
Parameter Value = 0.99815046787262
Parameter Data :
0x00 , 0x7F , 0xC3 , 0x65 ,
@@ -63,7 +72,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan11B1
-Parameter Address = 7
+Parameter Address = 13
Parameter Value = -1.99630105495453
Parameter Data :
0x0F , 0x00 , 0x79 , 0x35 ,
@@ -72,7 +81,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan12B1
-Parameter Address = 8
+Parameter Address = 14
Parameter Value = 0.99815046787262
Parameter Data :
0x00 , 0x7F , 0xC3 , 0x65 ,
@@ -81,7 +90,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan11A1
-Parameter Address = 9
+Parameter Address = 15
Parameter Value = 1.99629759788513
Parameter Data :
0x00 , 0xFF , 0x86 , 0xAE ,
@@ -90,7 +99,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan12A1
-Parameter Address = 10
+Parameter Address = 16
Parameter Value = -0.996304392814636
Parameter Data :
0x0F , 0x80 , 0x79 , 0x19 ,
@@ -99,7 +108,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan10B2
-Parameter Address = 11
+Parameter Address = 17
Parameter Value = 1
Parameter Data :
0x00 , 0x80 , 0x00 , 0x00 ,
@@ -108,60 +117,6 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan11B2
-Parameter Address = 12
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B2
-Parameter Address = 13
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A2
-Parameter Address = 14
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A2
-Parameter Address = 15
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan10B3
-Parameter Address = 16
-Parameter Value = 1
-Parameter Data :
-0x00 , 0x80 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11B3
-Parameter Address = 17
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B3
Parameter Address = 18
Parameter Value = 0
Parameter Data :
@@ -170,7 +125,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A3
+Parameter Name = PEQ1Chan12B2
Parameter Address = 19
Parameter Value = 0
Parameter Data :
@@ -179,7 +134,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A3
+Parameter Name = PEQ1Chan11A2
Parameter Address = 20
Parameter Value = 0
Parameter Data :
@@ -188,17 +143,8 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan10B4
+Parameter Name = PEQ1Chan12A2
Parameter Address = 21
-Parameter Value = 1
-Parameter Data :
-0x00 , 0x80 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11B4
-Parameter Address = 22
Parameter Value = 0
Parameter Data :
0x00 , 0x00 , 0x00 , 0x00 ,
@@ -206,7 +152,16 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B4
+Parameter Name = PEQ1Chan10B3
+Parameter Address = 22
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B3
Parameter Address = 23
Parameter Value = 0
Parameter Data :
@@ -215,7 +170,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A4
+Parameter Name = PEQ1Chan12B3
Parameter Address = 24
Parameter Value = 0
Parameter Data :
@@ -224,7 +179,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A4
+Parameter Name = PEQ1Chan11A3
Parameter Address = 25
Parameter Value = 0
Parameter Data :
@@ -233,17 +188,8 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan10B5
+Parameter Name = PEQ1Chan12A3
Parameter Address = 26
-Parameter Value = 1
-Parameter Data :
-0x00 , 0x80 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11B5
-Parameter Address = 27
Parameter Value = 0
Parameter Data :
0x00 , 0x00 , 0x00 , 0x00 ,
@@ -251,7 +197,16 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B5
+Parameter Name = PEQ1Chan10B4
+Parameter Address = 27
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B4
Parameter Address = 28
Parameter Value = 0
Parameter Data :
@@ -260,7 +215,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A5
+Parameter Name = PEQ1Chan12B4
Parameter Address = 29
Parameter Value = 0
Parameter Data :
@@ -269,7 +224,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A5
+Parameter Name = PEQ1Chan11A4
Parameter Address = 30
Parameter Value = 0
Parameter Data :
@@ -278,17 +233,8 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan10B6
+Parameter Name = PEQ1Chan12A4
Parameter Address = 31
-Parameter Value = 1
-Parameter Data :
-0x00 , 0x80 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11B6
-Parameter Address = 32
Parameter Value = 0
Parameter Data :
0x00 , 0x00 , 0x00 , 0x00 ,
@@ -296,7 +242,16 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B6
+Parameter Name = PEQ1Chan10B5
+Parameter Address = 32
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B5
Parameter Address = 33
Parameter Value = 0
Parameter Data :
@@ -305,7 +260,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A6
+Parameter Name = PEQ1Chan12B5
Parameter Address = 34
Parameter Value = 0
Parameter Data :
@@ -314,7 +269,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A6
+Parameter Name = PEQ1Chan11A5
Parameter Address = 35
Parameter Value = 0
Parameter Data :
@@ -322,9 +277,63 @@ Parameter Data :
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A5
+Parameter Address = 36
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B6
+Parameter Address = 37
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B6
+Parameter Address = 38
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B6
+Parameter Address = 39
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A6
+Parameter Address = 40
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A6
+Parameter Address = 41
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
Cell Name = Param EQ1
Parameter Name = PEQ1Chan10B1
-Parameter Address = 6
+Parameter Address = 12
Parameter Value = 0.99815046787262
Parameter Data :
0x00 , 0x7F , 0xC3 , 0x65 ,
@@ -333,7 +342,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan11B1
-Parameter Address = 7
+Parameter Address = 13
Parameter Value = -1.99630105495453
Parameter Data :
0x0F , 0x00 , 0x79 , 0x35 ,
@@ -342,7 +351,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan12B1
-Parameter Address = 8
+Parameter Address = 14
Parameter Value = 0.99815046787262
Parameter Data :
0x00 , 0x7F , 0xC3 , 0x65 ,
@@ -351,7 +360,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan11A1
-Parameter Address = 9
+Parameter Address = 15
Parameter Value = 1.99629759788513
Parameter Data :
0x00 , 0xFF , 0x86 , 0xAE ,
@@ -360,7 +369,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan12A1
-Parameter Address = 10
+Parameter Address = 16
Parameter Value = -0.996304392814636
Parameter Data :
0x0F , 0x80 , 0x79 , 0x19 ,
@@ -369,7 +378,7 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan10B2
-Parameter Address = 11
+Parameter Address = 17
Parameter Value = 1
Parameter Data :
0x00 , 0x80 , 0x00 , 0x00 ,
@@ -378,60 +387,6 @@ Parameter Data :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan11B2
-Parameter Address = 12
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B2
-Parameter Address = 13
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A2
-Parameter Address = 14
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A2
-Parameter Address = 15
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan10B3
-Parameter Address = 16
-Parameter Value = 1
-Parameter Data :
-0x00 , 0x80 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11B3
-Parameter Address = 17
-Parameter Value = 0
-Parameter Data :
-0x00 , 0x00 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B3
Parameter Address = 18
Parameter Value = 0
Parameter Data :
@@ -440,7 +395,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A3
+Parameter Name = PEQ1Chan12B2
Parameter Address = 19
Parameter Value = 0
Parameter Data :
@@ -449,7 +404,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A3
+Parameter Name = PEQ1Chan11A2
Parameter Address = 20
Parameter Value = 0
Parameter Data :
@@ -458,17 +413,8 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan10B4
+Parameter Name = PEQ1Chan12A2
Parameter Address = 21
-Parameter Value = 1
-Parameter Data :
-0x00 , 0x80 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11B4
-Parameter Address = 22
Parameter Value = 0
Parameter Data :
0x00 , 0x00 , 0x00 , 0x00 ,
@@ -476,7 +422,16 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B4
+Parameter Name = PEQ1Chan10B3
+Parameter Address = 22
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B3
Parameter Address = 23
Parameter Value = 0
Parameter Data :
@@ -485,7 +440,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A4
+Parameter Name = PEQ1Chan12B3
Parameter Address = 24
Parameter Value = 0
Parameter Data :
@@ -494,7 +449,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A4
+Parameter Name = PEQ1Chan11A3
Parameter Address = 25
Parameter Value = 0
Parameter Data :
@@ -503,17 +458,8 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan10B5
+Parameter Name = PEQ1Chan12A3
Parameter Address = 26
-Parameter Value = 1
-Parameter Data :
-0x00 , 0x80 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11B5
-Parameter Address = 27
Parameter Value = 0
Parameter Data :
0x00 , 0x00 , 0x00 , 0x00 ,
@@ -521,7 +467,16 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B5
+Parameter Name = PEQ1Chan10B4
+Parameter Address = 27
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B4
Parameter Address = 28
Parameter Value = 0
Parameter Data :
@@ -530,7 +485,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A5
+Parameter Name = PEQ1Chan12B4
Parameter Address = 29
Parameter Value = 0
Parameter Data :
@@ -539,7 +494,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A5
+Parameter Name = PEQ1Chan11A4
Parameter Address = 30
Parameter Value = 0
Parameter Data :
@@ -548,17 +503,8 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan10B6
+Parameter Name = PEQ1Chan12A4
Parameter Address = 31
-Parameter Value = 1
-Parameter Data :
-0x00 , 0x80 , 0x00 , 0x00 ,
-
-
-
-Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11B6
-Parameter Address = 32
Parameter Value = 0
Parameter Data :
0x00 , 0x00 , 0x00 , 0x00 ,
@@ -566,7 +512,16 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12B6
+Parameter Name = PEQ1Chan10B5
+Parameter Address = 32
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B5
Parameter Address = 33
Parameter Value = 0
Parameter Data :
@@ -575,7 +530,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan11A6
+Parameter Name = PEQ1Chan12B5
Parameter Address = 34
Parameter Value = 0
Parameter Data :
@@ -584,7 +539,7 @@ Parameter Data :
Cell Name = Param EQ1
-Parameter Name = PEQ1Chan12A6
+Parameter Name = PEQ1Chan11A5
Parameter Address = 35
Parameter Value = 0
Parameter Data :
@@ -592,9 +547,63 @@ Parameter Data :
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A5
+Parameter Address = 36
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B6
+Parameter Address = 37
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B6
+Parameter Address = 38
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B6
+Parameter Address = 39
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A6
+Parameter Address = 40
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A6
+Parameter Address = 41
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
Cell Name = Multiple 1
Parameter Name = Gain1940AlgNS5
-Parameter Address = 36
+Parameter Address = 42
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -603,7 +612,7 @@ Parameter Data :
Cell Name = Multiple 1
Parameter Name = Gain1940AlgNS6
-Parameter Address = 37
+Parameter Address = 43
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -612,7 +621,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1slope_1
-Parameter Address = 38
+Parameter Address = 44
Parameter Value = -0.014285683631897
Parameter Data :
0x0F, 0xFE, 0x2B, 0xE3,
@@ -621,7 +630,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1inter_1
-Parameter Address = 39
+Parameter Address = 45
Parameter Value = 0.27142858505249
Parameter Data :
0x00, 0x22, 0xBE, 0x2C,
@@ -630,7 +639,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1slope_2
-Parameter Address = 40
+Parameter Address = 46
Parameter Value = -0.166666626930237
Parameter Data :
0x0F, 0xEA, 0xAA, 0xAB,
@@ -639,7 +648,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1inter_2
-Parameter Address = 41
+Parameter Address = 47
Parameter Value = 0.833333373069763
Parameter Data :
0x00, 0x6A, 0xAA, 0xAB,
@@ -648,7 +657,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1slope_3
-Parameter Address = 42
+Parameter Address = 48
Parameter Value = -0.79365074634552
Parameter Data :
0x0F, 0x9A, 0x69, 0xA7,
@@ -657,7 +666,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1inter_3
-Parameter Address = 43
+Parameter Address = 49
Parameter Value = 1.98412692546844
Parameter Data :
0x00, 0xFD, 0xF7, 0xDF,
@@ -666,7 +675,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1slope_4
-Parameter Address = 44
+Parameter Address = 50
Parameter Value = -15.5279502868652
Parameter Data :
0x08, 0x3C, 0x6C, 0x20,
@@ -675,7 +684,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1inter_4
-Parameter Address = 45
+Parameter Address = 51
Parameter Value = 7.91925466060638
Parameter Data :
0x03, 0xF5, 0xAA, 0x23,
@@ -684,7 +693,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1comp1
-Parameter Address = 46
+Parameter Address = 52
Parameter Value = 3
Parameter Data :
0x01, 0x80, 0x00, 0x00,
@@ -693,7 +702,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1comp2
-Parameter Address = 47
+Parameter Address = 53
Parameter Value = 2
Parameter Data :
0x01, 0x00, 0x00, 0x00,
@@ -702,7 +711,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1comp3
-Parameter Address = 48
+Parameter Address = 54
Parameter Value = 0.399999976158142
Parameter Data :
0x00, 0x33, 0x33, 0x33,
@@ -711,7 +720,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1RMS_MONO_TCONST
-Parameter Address = 50
+Parameter Address = 56
Parameter Value = 0.000239849090576172
Parameter Data :
0x00, 0x00, 0x07, 0xDC,
@@ -720,7 +729,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1threshold
-Parameter Address = 49
+Parameter Address = 55
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -729,7 +738,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1decay
-Parameter Address = 51
+Parameter Address = 57
Parameter Value = 0.000244140625
Parameter Data :
0x00, 0x00, 0x08, 0x00,
@@ -738,7 +747,7 @@ Parameter Data :
Cell Name = Limiter 1
Parameter Name = limiterAlg1decaycomplement
-Parameter Address = 52
+Parameter Address = 58
Parameter Value = 0.99951171875
Parameter Data :
0x00, 0x7F, 0xF0, 0x00,
@@ -747,7 +756,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2slope_1
-Parameter Address = 53
+Parameter Address = 59
Parameter Value = -0.014285683631897
Parameter Data :
0x0F, 0xFE, 0x2B, 0xE3,
@@ -756,7 +765,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2inter_1
-Parameter Address = 54
+Parameter Address = 60
Parameter Value = 0.27142858505249
Parameter Data :
0x00, 0x22, 0xBE, 0x2C,
@@ -765,7 +774,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2slope_2
-Parameter Address = 55
+Parameter Address = 61
Parameter Value = -0.166666626930237
Parameter Data :
0x0F, 0xEA, 0xAA, 0xAB,
@@ -774,7 +783,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2inter_2
-Parameter Address = 56
+Parameter Address = 62
Parameter Value = 0.833333373069763
Parameter Data :
0x00, 0x6A, 0xAA, 0xAB,
@@ -783,7 +792,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2slope_3
-Parameter Address = 57
+Parameter Address = 63
Parameter Value = -0.79365074634552
Parameter Data :
0x0F, 0x9A, 0x69, 0xA7,
@@ -792,7 +801,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2inter_3
-Parameter Address = 58
+Parameter Address = 64
Parameter Value = 1.98412692546844
Parameter Data :
0x00, 0xFD, 0xF7, 0xDF,
@@ -801,7 +810,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2slope_4
-Parameter Address = 59
+Parameter Address = 65
Parameter Value = -15.5279502868652
Parameter Data :
0x08, 0x3C, 0x6C, 0x20,
@@ -810,7 +819,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2inter_4
-Parameter Address = 60
+Parameter Address = 66
Parameter Value = 7.91925466060638
Parameter Data :
0x03, 0xF5, 0xAA, 0x23,
@@ -819,7 +828,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2comp1
-Parameter Address = 61
+Parameter Address = 67
Parameter Value = 3
Parameter Data :
0x01, 0x80, 0x00, 0x00,
@@ -828,7 +837,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2comp2
-Parameter Address = 62
+Parameter Address = 68
Parameter Value = 2
Parameter Data :
0x01, 0x00, 0x00, 0x00,
@@ -837,7 +846,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2comp3
-Parameter Address = 63
+Parameter Address = 69
Parameter Value = 0.399999976158142
Parameter Data :
0x00, 0x33, 0x33, 0x33,
@@ -846,7 +855,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2RMS_MONO_TCONST
-Parameter Address = 65
+Parameter Address = 71
Parameter Value = 0.000239849090576172
Parameter Data :
0x00, 0x00, 0x07, 0xDC,
@@ -855,7 +864,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2threshold
-Parameter Address = 64
+Parameter Address = 70
Parameter Value = 1
Parameter Data :
0x00, 0x80, 0x00, 0x00,
@@ -864,7 +873,7 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2decay
-Parameter Address = 66
+Parameter Address = 72
Parameter Value = 0.000244140625
Parameter Data :
0x00, 0x00, 0x08, 0x00,
@@ -873,15 +882,66 @@ Parameter Data :
Cell Name = Limiter 2
Parameter Name = limiterAlg2decaycomplement
-Parameter Address = 67
+Parameter Address = 73
Parameter Value = 0.99951171875
Parameter Data :
0x00, 0x7F, 0xF0, 0x00,
+Cell Name = Beep1
+Parameter Name = beep_freqBeepAlg1
+Parameter Address = 2
+Parameter Value = 0.00331640243530273
+Parameter Data :
+0x00, 0x00, 0x6C, 0xAC,
+
+
+
+Cell Name = Beep1
+Parameter Name = enableBeepAlg1
+Parameter Address = 0
+Parameter Value = 0
+Parameter Data :
+0x00, 0x00, 0x00, 0x00,
+
+
+
+Cell Name = Beep1
+Parameter Name = kickBeepAlg1
+Parameter Address = 1
+Parameter Value = 0
+Parameter Data :
+0x00, 0x00, 0x00, 0x00,
+
+
+
+Cell Name = Single 1
+Parameter Name = Gain1940AlgNS7
+Parameter Address = 7
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = S Splitter1
+Parameter Name = SingleCtrlSplit1
+Parameter Address = 8
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
Parameter data for: IC 1 (Hexadecimal format starting at parameter address 0)
See also DigiRadio.hex file
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x6C , 0xAC ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
0x00 , 0x80 , 0x00 , 0x00 ,
0x00 , 0x80 , 0x00 , 0x00 ,
0x00 , 0x80 , 0x00 , 0x00 ,
@@ -1900,14 +1960,14 @@ See also DigiRadio.hex file
0x00 , 0x00 , 0x00 , 0x00 ,
0x00 , 0x00 , 0x00 , 0x00 ,
0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
-0x00 , 0x00 , 0x00 , 0x00 ,
Parameter data for: IC 1 (Binary format starting at parameter address 0)
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 01101100 10101100
+00000000 10000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 10000000 00000000 00000000
00000000 10000000 00000000 00000000
00000000 10000000 00000000 00000000
00000000 10000000 00000000 00000000
@@ -2926,10 +2986,4 @@ Parameter data for: IC 1 (Binary format starting at parameter address 0)
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
-00000000 00000000 00000000 00000000
-00000000 00000000 00000000 00000000
-00000000 00000000 00000000 00000000
-00000000 00000000 00000000 00000000
-00000000 00000000 00000000 00000000
-00000000 00000000 00000000 00000000
diff --git a/Software/Firmware/ADAU1701-Firmware/DigiRadio.xml b/Software/Firmware/ADAU1701-Firmware/DigiRadio.xml
index 0c7fd16..2f5a953 100644
--- a/Software/Firmware/ADAU1701-Firmware/DigiRadio.xml
+++ b/Software/Firmware/ADAU1701-Firmware/DigiRadio.xml
@@ -30,21 +30,21 @@
1024
5
5120
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x28, 0x00, 0xE8, 0x01, 0x00, 0x12, 0x00, 0x20, 0x01, 0x00, 0x30, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x01, 0x20, 0x01, 0x00, 0x38, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x22, 0x02, 0x20, 0x01, 0x00, 0x40, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x03, 0x20, 0x01, 0x00, 0x48, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x04, 0x20, 0x01, 0x00, 0x3A, 0x04, 0x40, 0x01, 0x00, 0x42, 0x05, 0x22, 0x01, 0x00, 0x4A, 0x05, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x60, 0x00, 0xE2, 0x01, 0x01, 0x98, 0x00, 0xE4, 0x01, 0x00, 0x8A, 0x09, 0x20, 0x01, 0x00, 0x82, 0x0A, 0x22, 0x01, 0x00, 0x72, 0x09, 0x34, 0x01, 0x00, 0x6A, 0x0A, 0x22, 0x01, 0x00, 0x62, 0x06, 0x22, 0x01, 0x00, 0x5A, 0x07, 0x22, 0x01, 0x00, 0x52, 0x08, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00, 0xE2, 0x01, 0x00, 0x90, 0x00, 0xF2, 0x01, 0x00, 0xBA, 0x0E, 0x20, 0x01, 0x00, 0xB2, 0x0F, 0x22, 0x01, 0x00, 0xA2, 0x0E, 0x34, 0x01, 0x00, 0x9A, 0x0F, 0x22, 0x01, 0x00, 0x7A, 0x0B, 0x22, 0x01, 0x00, 0x72, 0x0C, 0x22, 0x01, 0x00, 0x6A, 0x0D, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xA8, 0x00, 0xE2, 0x01, 0x00, 0xC0, 0x00, 0xF2, 0x01, 0x00, 0xEA, 0x13, 0x20, 0x01, 0x00, 0xE2, 0x14, 0x22, 0x01, 0x00, 0xD2, 0x13, 0x34, 0x01, 0x00, 0xCA, 0x14, 0x22, 0x01, 0x00, 0xAA, 0x10, 0x22, 0x01, 0x00, 0xA2, 0x11, 0x22, 0x01, 0x00, 0x9A, 0x12, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD8, 0x00, 0xE2, 0x01, 0x00, 0xF0, 0x00, 0xF2, 0x01, 0x01, 0x1A, 0x18, 0x20, 0x01, 0x01, 0x12, 0x19, 0x22, 0x01, 0x01, 0x02, 0x18, 0x34, 0x01, 0x00, 0xFA, 0x19, 0x22, 0x01, 0x00, 0xDA, 0x15, 0x22, 0x01, 0x00, 0xD2, 0x16, 0x22, 0x01, 0x00, 0xCA, 0x17, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x08, 0x00, 0xE2, 0x01, 0x01, 0x20, 0x00, 0xF2, 0x01, 0x01, 0x4A, 0x1D, 0x20, 0x01, 0x01, 0x42, 0x1E, 0x22, 0x01, 0x01, 0x32, 0x1D, 0x34, 0x01, 0x01, 0x2A, 0x1E, 0x22, 0x01, 0x01, 0x0A, 0x1A, 0x22, 0x01, 0x01, 0x02, 0x1B, 0x22, 0x01, 0x00, 0xFA, 0x1C, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x38, 0x00, 0xE2, 0x01, 0x01, 0x50, 0x00, 0xF2, 0x01, 0x01, 0x7A, 0x22, 0x20, 0x01, 0x01, 0x72, 0x23, 0x22, 0x01, 0x01, 0x62, 0x22, 0x34, 0x01, 0x01, 0x5A, 0x23, 0x22, 0x01, 0x01, 0x3A, 0x1F, 0x22, 0x01, 0x01, 0x32, 0x20, 0x22, 0x01, 0x01, 0x2A, 0x21, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x68, 0x00, 0xE2, 0x01, 0x01, 0x80, 0x00, 0xF2, 0x01, 0x01, 0xC2, 0x09, 0x20, 0x01, 0x01, 0xBA, 0x0A, 0x22, 0x01, 0x01, 0xAA, 0x09, 0x34, 0x01, 0x01, 0xA2, 0x0A, 0x22, 0x01, 0x01, 0x9A, 0x06, 0x22, 0x01, 0x01, 0x92, 0x07, 0x22, 0x01, 0x01, 0x8A, 0x08, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xB0, 0x00, 0xE2, 0x01, 0x01, 0xC8, 0x00, 0xF2, 0x01, 0x01, 0xF2, 0x0E, 0x20, 0x01, 0x01, 0xEA, 0x0F, 0x22, 0x01, 0x01, 0xDA, 0x0E, 0x34, 0x01, 0x01, 0xD2, 0x0F, 0x22, 0x01, 0x01, 0xB2, 0x0B, 0x22, 0x01, 0x01, 0xAA, 0x0C, 0x22, 0x01, 0x01, 0xA2, 0x0D, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xE0, 0x00, 0xE2, 0x01, 0x01, 0xF8, 0x00, 0xF2, 0x01, 0x02, 0x22, 0x13, 0x20, 0x01, 0x02, 0x1A, 0x14, 0x22, 0x01, 0x02, 0x0A, 0x13, 0x34, 0x01, 0x02, 0x02, 0x14, 0x22, 0x01, 0x01, 0xE2, 0x10, 0x22, 0x01, 0x01, 0xDA, 0x11, 0x22, 0x01, 0x01, 0xD2, 0x12, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x10, 0x00, 0xE2, 0x01, 0x02, 0x28, 0x00, 0xF2, 0x01, 0x02, 0x52, 0x18, 0x20, 0x01, 0x02, 0x4A, 0x19, 0x22, 0x01, 0x02, 0x3A, 0x18, 0x34, 0x01, 0x02, 0x32, 0x19, 0x22, 0x01, 0x02, 0x12, 0x15, 0x22, 0x01, 0x02, 0x0A, 0x16, 0x22, 0x01, 0x02, 0x02, 0x17, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x40, 0x00, 0xE2, 0x01, 0x02, 0x58, 0x00, 0xF2, 0x01, 0x02, 0x82, 0x1D, 0x20, 0x01, 0x02, 0x7A, 0x1E, 0x22, 0x01, 0x02, 0x6A, 0x1D, 0x34, 0x01, 0x02, 0x62, 0x1E, 0x22, 0x01, 0x02, 0x42, 0x1A, 0x22, 0x01, 0x02, 0x3A, 0x1B, 0x22, 0x01, 0x02, 0x32, 0x1C, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x70, 0x00, 0xE2, 0x01, 0x02, 0x88, 0x00, 0xF2, 0x01, 0x02, 0xB2, 0x22, 0x20, 0x01, 0x02, 0xAA, 0x23, 0x22, 0x01, 0x02, 0x9A, 0x22, 0x34, 0x01, 0x02, 0x92, 0x23, 0x22, 0x01, 0x02, 0x72, 0x1F, 0x22, 0x01, 0x02, 0x6A, 0x20, 0x22, 0x01, 0x02, 0x62, 0x21, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xA0, 0x00, 0xE2, 0x01, 0x02, 0xB8, 0x00, 0xF2, 0x01, 0x01, 0x6A, 0x24, 0x20, 0x01, 0x02, 0xC0, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xA2, 0x25, 0x20, 0x01, 0x02, 0xC8, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xC1, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x28, 0x00, 0xF0, 0x01, 0xFF, 0xE9, 0x08, 0x22, 0x01, 0x03, 0x20, 0x00, 0xF2, 0x01, 0x03, 0x11, 0x08, 0x20, 0x01, 0x03, 0x12, 0x32, 0x22, 0x41, 0x03, 0x22, 0x32, 0x22, 0x01, 0x03, 0x01, 0x08, 0x34, 0x01, 0x03, 0x02, 0x32, 0x22, 0x41, 0x03, 0x2A, 0x32, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x08, 0x00, 0xE2, 0x01, 0x03, 0x18, 0x00, 0xF2, 0x01, 0x03, 0x30, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x2E, 0x40, 0x01, 0x03, 0x31, 0x08, 0x20, 0x09, 0x03, 0x32, 0x26, 0x20, 0x01, 0xFF, 0xF2, 0x27, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x03, 0x32, 0x28, 0x20, 0x01, 0xFF, 0xF2, 0x29, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x2F, 0x40, 0x01, 0x03, 0x31, 0x08, 0x20, 0x09, 0x03, 0x32, 0x2A, 0x20, 0x01, 0xFF, 0xF2, 0x2B, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x30, 0x40, 0x01, 0x03, 0x31, 0x08, 0x20, 0x09, 0x03, 0x32, 0x2C, 0x20, 0x01, 0xFF, 0xF2, 0x2D, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xD0, 0x00, 0xC0, 0x01, 0x03, 0x37, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD7, 0xFF, 0x20, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD0, 0x00, 0xC0, 0x01, 0x03, 0x37, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD7, 0xFF, 0x20, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD0, 0x00, 0xC0, 0x01, 0x03, 0x37, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD7, 0xFF, 0x20, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD0, 0x00, 0xC0, 0x01, 0x00, 0x02, 0x31, 0xA0, 0x01, 0xFF, 0xE7, 0xFF, 0x20, 0x01, 0x02, 0xF8, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xF9, 0x08, 0x40, 0x01, 0xFF, 0xF1, 0x08, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xF8, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xF9, 0x08, 0x40, 0x01, 0x02, 0xF1, 0x08, 0x20, 0x09, 0x02, 0xFA, 0x33, 0x20, 0x01, 0x02, 0xF2, 0x33, 0x22, 0x41, 0x02, 0xF1, 0x08, 0x22, 0x01, 0x02, 0xF8, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xF9, 0x08, 0x20, 0x01, 0x02, 0xE8, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x34, 0x22, 0x49, 0xFF, 0xF1, 0x08, 0x20, 0x01, 0xFF, 0xE9, 0x08, 0x20, 0x25, 0x02, 0xE0, 0x00, 0xE2, 0x01, 0x02, 0xF8, 0x00, 0xC0, 0x01, 0x02, 0xC7, 0xFF, 0x20, 0x01, 0x02, 0xD8, 0x00, 0xE2, 0x01, 0x02, 0xC9, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x28, 0x00, 0xF0, 0x01, 0xFF, 0xE9, 0x08, 0x22, 0x01, 0x03, 0x20, 0x00, 0xF2, 0x01, 0x03, 0x71, 0x08, 0x20, 0x01, 0x03, 0x72, 0x41, 0x22, 0x41, 0x03, 0x22, 0x41, 0x22, 0x01, 0x03, 0x61, 0x08, 0x34, 0x01, 0x03, 0x62, 0x41, 0x22, 0x41, 0x03, 0x2A, 0x41, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x68, 0x00, 0xE2, 0x01, 0x03, 0x78, 0x00, 0xF2, 0x01, 0x03, 0x30, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x3D, 0x40, 0x01, 0x03, 0x31, 0x08, 0x20, 0x09, 0x03, 0x32, 0x35, 0x20, 0x01, 0xFF, 0xF2, 0x36, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x03, 0x32, 0x37, 0x20, 0x01, 0xFF, 0xF2, 0x38, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x3E, 0x40, 0x01, 0x03, 0x31, 0x08, 0x20, 0x09, 0x03, 0x32, 0x39, 0x20, 0x01, 0xFF, 0xF2, 0x3A, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x3F, 0x40, 0x01, 0x03, 0x31, 0x08, 0x20, 0x09, 0x03, 0x32, 0x3B, 0x20, 0x01, 0xFF, 0xF2, 0x3C, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xD0, 0x00, 0xC0, 0x01, 0x03, 0x37, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD7, 0xFF, 0x20, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD0, 0x00, 0xC0, 0x01, 0x03, 0x37, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD7, 0xFF, 0x20, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD0, 0x00, 0xC0, 0x01, 0x03, 0x37, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD7, 0xFF, 0x20, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xD0, 0x00, 0xC0, 0x01, 0x00, 0x02, 0x40, 0xA0, 0x01, 0xFF, 0xE7, 0xFF, 0x20, 0x01, 0x03, 0x58, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x59, 0x08, 0x40, 0x01, 0xFF, 0xF1, 0x08, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x58, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x59, 0x08, 0x40, 0x01, 0x03, 0x51, 0x08, 0x20, 0x09, 0x03, 0x5A, 0x42, 0x20, 0x01, 0x03, 0x52, 0x42, 0x22, 0x41, 0x03, 0x51, 0x08, 0x22, 0x01, 0x03, 0x58, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x59, 0x08, 0x20, 0x01, 0x03, 0x48, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x43, 0x22, 0x49, 0xFF, 0xF1, 0x08, 0x20, 0x01, 0xFF, 0xE9, 0x08, 0x20, 0x25, 0x03, 0x40, 0x00, 0xE2, 0x01, 0x03, 0x58, 0x00, 0xC0, 0x01, 0x02, 0xCF, 0xFF, 0x20, 0x01, 0x03, 0x38, 0x00, 0xE2, 0x01, 0x03, 0x39, 0x08, 0x20, 0x01, 0xFF, 0x30, 0x00, 0x02, 0x01, 0x02, 0xD9, 0x08, 0x20, 0x01, 0xFF, 0x28, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x28, 0x00, 0xE8, 0x01, 0x00, 0x02, 0x01, 0xA0, 0x01, 0xFF, 0xE1, 0x07, 0x20, 0x01, 0x00, 0x38, 0x00, 0xE2, 0x01, 0x00, 0x42, 0x02, 0x20, 0x01, 0x00, 0x52, 0x00, 0x22, 0x01, 0x00, 0x58, 0x00, 0xE2, 0x01, 0x00, 0x42, 0x00, 0x20, 0x01, 0x00, 0x59, 0x08, 0x22, 0x41, 0x00, 0x39, 0x08, 0x22, 0x01, 0x00, 0x31, 0x08, 0x22, 0x41, 0x00, 0x48, 0x00, 0xE2, 0x01, 0x00, 0x12, 0x03, 0x20, 0x01, 0x00, 0x60, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x04, 0x20, 0x01, 0x00, 0x68, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x22, 0x05, 0x20, 0x01, 0x00, 0x70, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x06, 0x20, 0x01, 0x00, 0x78, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5A, 0x07, 0x20, 0x01, 0x00, 0x80, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x82, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x88, 0x00, 0xE2, 0x01, 0x00, 0x82, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x90, 0x00, 0xE2, 0x01, 0x00, 0x62, 0x09, 0x20, 0x01, 0x00, 0x6A, 0x09, 0x40, 0x01, 0x00, 0x72, 0x0A, 0x22, 0x01, 0x00, 0x7A, 0x0A, 0x44, 0x01, 0x00, 0x8A, 0x0B, 0x22, 0x01, 0x00, 0x92, 0x0B, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xA8, 0x00, 0xE2, 0x01, 0x01, 0xE0, 0x00, 0xE4, 0x01, 0x00, 0xD2, 0x0F, 0x20, 0x01, 0x00, 0xCA, 0x10, 0x22, 0x01, 0x00, 0xBA, 0x0F, 0x34, 0x01, 0x00, 0xB2, 0x10, 0x22, 0x01, 0x00, 0xAA, 0x0C, 0x22, 0x01, 0x00, 0xA2, 0x0D, 0x22, 0x01, 0x00, 0x9A, 0x0E, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xC0, 0x00, 0xE2, 0x01, 0x00, 0xD8, 0x00, 0xF2, 0x01, 0x01, 0x02, 0x14, 0x20, 0x01, 0x00, 0xFA, 0x15, 0x22, 0x01, 0x00, 0xEA, 0x14, 0x34, 0x01, 0x00, 0xE2, 0x15, 0x22, 0x01, 0x00, 0xC2, 0x11, 0x22, 0x01, 0x00, 0xBA, 0x12, 0x22, 0x01, 0x00, 0xB2, 0x13, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xF0, 0x00, 0xE2, 0x01, 0x01, 0x08, 0x00, 0xF2, 0x01, 0x01, 0x32, 0x19, 0x20, 0x01, 0x01, 0x2A, 0x1A, 0x22, 0x01, 0x01, 0x1A, 0x19, 0x34, 0x01, 0x01, 0x12, 0x1A, 0x22, 0x01, 0x00, 0xF2, 0x16, 0x22, 0x01, 0x00, 0xEA, 0x17, 0x22, 0x01, 0x00, 0xE2, 0x18, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0xE2, 0x01, 0x01, 0x38, 0x00, 0xF2, 0x01, 0x01, 0x62, 0x1E, 0x20, 0x01, 0x01, 0x5A, 0x1F, 0x22, 0x01, 0x01, 0x4A, 0x1E, 0x34, 0x01, 0x01, 0x42, 0x1F, 0x22, 0x01, 0x01, 0x22, 0x1B, 0x22, 0x01, 0x01, 0x1A, 0x1C, 0x22, 0x01, 0x01, 0x12, 0x1D, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x50, 0x00, 0xE2, 0x01, 0x01, 0x68, 0x00, 0xF2, 0x01, 0x01, 0x92, 0x23, 0x20, 0x01, 0x01, 0x8A, 0x24, 0x22, 0x01, 0x01, 0x7A, 0x23, 0x34, 0x01, 0x01, 0x72, 0x24, 0x22, 0x01, 0x01, 0x52, 0x20, 0x22, 0x01, 0x01, 0x4A, 0x21, 0x22, 0x01, 0x01, 0x42, 0x22, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x80, 0x00, 0xE2, 0x01, 0x01, 0x98, 0x00, 0xF2, 0x01, 0x01, 0xC2, 0x28, 0x20, 0x01, 0x01, 0xBA, 0x29, 0x22, 0x01, 0x01, 0xAA, 0x28, 0x34, 0x01, 0x01, 0xA2, 0x29, 0x22, 0x01, 0x01, 0x82, 0x25, 0x22, 0x01, 0x01, 0x7A, 0x26, 0x22, 0x01, 0x01, 0x72, 0x27, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xB0, 0x00, 0xE2, 0x01, 0x01, 0xC8, 0x00, 0xF2, 0x01, 0x02, 0x0A, 0x0F, 0x20, 0x01, 0x02, 0x02, 0x10, 0x22, 0x01, 0x01, 0xF2, 0x0F, 0x34, 0x01, 0x01, 0xEA, 0x10, 0x22, 0x01, 0x01, 0xE2, 0x0C, 0x22, 0x01, 0x01, 0xDA, 0x0D, 0x22, 0x01, 0x01, 0xD2, 0x0E, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xF8, 0x00, 0xE2, 0x01, 0x02, 0x10, 0x00, 0xF2, 0x01, 0x02, 0x3A, 0x14, 0x20, 0x01, 0x02, 0x32, 0x15, 0x22, 0x01, 0x02, 0x22, 0x14, 0x34, 0x01, 0x02, 0x1A, 0x15, 0x22, 0x01, 0x01, 0xFA, 0x11, 0x22, 0x01, 0x01, 0xF2, 0x12, 0x22, 0x01, 0x01, 0xEA, 0x13, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x28, 0x00, 0xE2, 0x01, 0x02, 0x40, 0x00, 0xF2, 0x01, 0x02, 0x6A, 0x19, 0x20, 0x01, 0x02, 0x62, 0x1A, 0x22, 0x01, 0x02, 0x52, 0x19, 0x34, 0x01, 0x02, 0x4A, 0x1A, 0x22, 0x01, 0x02, 0x2A, 0x16, 0x22, 0x01, 0x02, 0x22, 0x17, 0x22, 0x01, 0x02, 0x1A, 0x18, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, 0xE2, 0x01, 0x02, 0x70, 0x00, 0xF2, 0x01, 0x02, 0x9A, 0x1E, 0x20, 0x01, 0x02, 0x92, 0x1F, 0x22, 0x01, 0x02, 0x82, 0x1E, 0x34, 0x01, 0x02, 0x7A, 0x1F, 0x22, 0x01, 0x02, 0x5A, 0x1B, 0x22, 0x01, 0x02, 0x52, 0x1C, 0x22, 0x01, 0x02, 0x4A, 0x1D, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x88, 0x00, 0xE2, 0x01, 0x02, 0xA0, 0x00, 0xF2, 0x01, 0x02, 0xCA, 0x23, 0x20, 0x01, 0x02, 0xC2, 0x24, 0x22, 0x01, 0x02, 0xB2, 0x23, 0x34, 0x01, 0x02, 0xAA, 0x24, 0x22, 0x01, 0x02, 0x8A, 0x20, 0x22, 0x01, 0x02, 0x82, 0x21, 0x22, 0x01, 0x02, 0x7A, 0x22, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xB8, 0x00, 0xE2, 0x01, 0x02, 0xD0, 0x00, 0xF2, 0x01, 0x02, 0xFA, 0x28, 0x20, 0x01, 0x02, 0xF2, 0x29, 0x22, 0x01, 0x02, 0xE2, 0x28, 0x34, 0x01, 0x02, 0xDA, 0x29, 0x22, 0x01, 0x02, 0xBA, 0x25, 0x22, 0x01, 0x02, 0xB2, 0x26, 0x22, 0x01, 0x02, 0xAA, 0x27, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xE8, 0x00, 0xE2, 0x01, 0x03, 0x00, 0x00, 0xF2, 0x01, 0x01, 0xB2, 0x2A, 0x20, 0x01, 0x03, 0x08, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xEA, 0x2B, 0x20, 0x01, 0x03, 0x10, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x09, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x70, 0x00, 0xF0, 0x01, 0xFF, 0xE9, 0x08, 0x22, 0x01, 0x03, 0x68, 0x00, 0xF2, 0x01, 0x03, 0x59, 0x08, 0x20, 0x01, 0x03, 0x5A, 0x38, 0x22, 0x41, 0x03, 0x6A, 0x38, 0x22, 0x01, 0x03, 0x49, 0x08, 0x34, 0x01, 0x03, 0x4A, 0x38, 0x22, 0x41, 0x03, 0x72, 0x38, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x50, 0x00, 0xE2, 0x01, 0x03, 0x60, 0x00, 0xF2, 0x01, 0x03, 0x78, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x34, 0x40, 0x01, 0x03, 0x79, 0x08, 0x20, 0x09, 0x03, 0x7A, 0x2C, 0x20, 0x01, 0xFF, 0xF2, 0x2D, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x7A, 0x2E, 0x20, 0x01, 0xFF, 0xF2, 0x2F, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x35, 0x40, 0x01, 0x03, 0x79, 0x08, 0x20, 0x09, 0x03, 0x7A, 0x30, 0x20, 0x01, 0xFF, 0xF2, 0x31, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x36, 0x40, 0x01, 0x03, 0x79, 0x08, 0x20, 0x09, 0x03, 0x7A, 0x32, 0x20, 0x01, 0xFF, 0xF2, 0x33, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x18, 0x00, 0xC0, 0x01, 0x03, 0x7F, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x1F, 0xFF, 0x20, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x18, 0x00, 0xC0, 0x01, 0x03, 0x7F, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x1F, 0xFF, 0x20, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x18, 0x00, 0xC0, 0x01, 0x03, 0x7F, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x1F, 0xFF, 0x20, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x18, 0x00, 0xC0, 0x01, 0x00, 0x02, 0x37, 0xA0, 0x01, 0xFF, 0xE7, 0xFF, 0x20, 0x01, 0x03, 0x40, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x41, 0x08, 0x40, 0x01, 0xFF, 0xF1, 0x08, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x40, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x41, 0x08, 0x40, 0x01, 0x03, 0x39, 0x08, 0x20, 0x09, 0x03, 0x42, 0x39, 0x20, 0x01, 0x03, 0x3A, 0x39, 0x22, 0x41, 0x03, 0x39, 0x08, 0x22, 0x01, 0x03, 0x40, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x41, 0x08, 0x20, 0x01, 0x03, 0x30, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x3A, 0x22, 0x49, 0xFF, 0xF1, 0x08, 0x20, 0x01, 0xFF, 0xE9, 0x08, 0x20, 0x25, 0x03, 0x28, 0x00, 0xE2, 0x01, 0x03, 0x40, 0x00, 0xC0, 0x01, 0x03, 0x0F, 0xFF, 0x20, 0x01, 0x03, 0x20, 0x00, 0xE2, 0x01, 0x03, 0x11, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x70, 0x00, 0xF0, 0x01, 0xFF, 0xE9, 0x08, 0x22, 0x01, 0x03, 0x68, 0x00, 0xF2, 0x01, 0x03, 0xB9, 0x08, 0x20, 0x01, 0x03, 0xBA, 0x47, 0x22, 0x41, 0x03, 0x6A, 0x47, 0x22, 0x01, 0x03, 0xA9, 0x08, 0x34, 0x01, 0x03, 0xAA, 0x47, 0x22, 0x41, 0x03, 0x72, 0x47, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0xB0, 0x00, 0xE2, 0x01, 0x03, 0xC0, 0x00, 0xF2, 0x01, 0x03, 0x78, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x43, 0x40, 0x01, 0x03, 0x79, 0x08, 0x20, 0x09, 0x03, 0x7A, 0x3B, 0x20, 0x01, 0xFF, 0xF2, 0x3C, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x7A, 0x3D, 0x20, 0x01, 0xFF, 0xF2, 0x3E, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x44, 0x40, 0x01, 0x03, 0x79, 0x08, 0x20, 0x09, 0x03, 0x7A, 0x3F, 0x20, 0x01, 0xFF, 0xF2, 0x40, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x45, 0x40, 0x01, 0x03, 0x79, 0x08, 0x20, 0x09, 0x03, 0x7A, 0x41, 0x20, 0x01, 0xFF, 0xF2, 0x42, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x18, 0x00, 0xC0, 0x01, 0x03, 0x7F, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x1F, 0xFF, 0x20, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x18, 0x00, 0xC0, 0x01, 0x03, 0x7F, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x1F, 0xFF, 0x20, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x18, 0x00, 0xC0, 0x01, 0x03, 0x7F, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x1F, 0xFF, 0x20, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0x03, 0x18, 0x00, 0xC0, 0x01, 0x00, 0x02, 0x46, 0xA0, 0x01, 0xFF, 0xE7, 0xFF, 0x20, 0x01, 0x03, 0xA0, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0xA1, 0x08, 0x40, 0x01, 0xFF, 0xF1, 0x08, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0xA0, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0xA1, 0x08, 0x40, 0x01, 0x03, 0x99, 0x08, 0x20, 0x09, 0x03, 0xA2, 0x48, 0x20, 0x01, 0x03, 0x9A, 0x48, 0x22, 0x41, 0x03, 0x99, 0x08, 0x22, 0x01, 0x03, 0xA0, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0xA1, 0x08, 0x20, 0x01, 0x03, 0x90, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x49, 0x22, 0x49, 0xFF, 0xF1, 0x08, 0x20, 0x01, 0xFF, 0xE9, 0x08, 0x20, 0x25, 0x03, 0x88, 0x00, 0xE2, 0x01, 0x03, 0xA0, 0x00, 0xC0, 0x01, 0x03, 0x17, 0xFF, 0x20, 0x01, 0x03, 0x80, 0x00, 0xE2, 0x01, 0x03, 0x81, 0x08, 0x20, 0x01, 0xFF, 0x30, 0x00, 0x02, 0x01, 0x03, 0x21, 0x08, 0x20, 0x01, 0xFF, 0x28, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
Param
0
4
4096
- 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xC3, 0x65, 0x0F, 0x00, 0x79, 0x35, 0x00, 0x7F, 0xC3, 0x65, 0x00, 0xFF, 0x86, 0xAE, 0x0F, 0x80, 0x79, 0x19, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0F, 0xFE, 0x2B, 0xE3, 0x00, 0x22, 0xBE, 0x2C, 0x0F, 0xEA, 0xAA, 0xAB, 0x00, 0x6A, 0xAA, 0xAB, 0x0F, 0x9A, 0x69, 0xA7, 0x00, 0xFD, 0xF7, 0xDF, 0x08, 0x3C, 0x6C, 0x20, 0x03, 0xF5, 0xAA, 0x23, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDC, 0x00, 0x00, 0x08, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x0F, 0xFE, 0x2B, 0xE3, 0x00, 0x22, 0xBE, 0x2C, 0x0F, 0xEA, 0xAA, 0xAB, 0x00, 0x6A, 0xAA, 0xAB, 0x0F, 0x9A, 0x69, 0xA7, 0x00, 0xFD, 0xF7, 0xDF, 0x08, 0x3C, 0x6C, 0x20, 0x03, 0xF5, 0xAA, 0x23, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDC, 0x00, 0x00, 0x08, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xAC, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xC3, 0x65, 0x0F, 0x00, 0x79, 0x35, 0x00, 0x7F, 0xC3, 0x65, 0x00, 0xFF, 0x86, 0xAE, 0x0F, 0x80, 0x79, 0x19, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0F, 0xFE, 0x2B, 0xE3, 0x00, 0x22, 0xBE, 0x2C, 0x0F, 0xEA, 0xAA, 0xAB, 0x00, 0x6A, 0xAA, 0xAB, 0x0F, 0x9A, 0x69, 0xA7, 0x00, 0xFD, 0xF7, 0xDF, 0x08, 0x3C, 0x6C, 0x20, 0x03, 0xF5, 0xAA, 0x23, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDC, 0x00, 0x00, 0x08, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x0F, 0xFE, 0x2B, 0xE3, 0x00, 0x22, 0xBE, 0x2C, 0x0F, 0xEA, 0xAA, 0xAB, 0x00, 0x6A, 0xAA, 0xAB, 0x0F, 0x9A, 0x69, 0xA7, 0x00, 0xFD, 0xF7, 0xDF, 0x08, 0x3C, 0x6C, 0x20, 0x03, 0xF5, 0xAA, 0x23, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDC, 0x00, 0x00, 0x08, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
IC 1.HWConFiguration
2076
0
24
- 0x00, 0x18, 0x08, 0x08, 0x00, 0x00, 0x44, 0x00, 0x44, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x18, 0x0B, 0x08, 0x00, 0x00, 0x44, 0x00, 0x44, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
IC 1.CoreRegister
@@ -62,7 +62,7 @@
Gain1940AlgNS1
FixedPoint
- 0
+ 3
1
4
0x00, 0x80, 0x00, 0x00,
@@ -75,7 +75,7 @@
Gain1940AlgNS2
FixedPoint
- 1
+ 4
1
4
0x00, 0x80, 0x00, 0x00,
@@ -91,7 +91,7 @@
Gain1940AlgNS3
FixedPoint
- 2
+ 5
1
4
0x00, 0x80, 0x00, 0x00,
@@ -104,7 +104,7 @@
Gain1940AlgNS4
FixedPoint
- 3
+ 6
1
4
0x00, 0x80, 0x00, 0x00,
@@ -116,11 +116,11 @@
ALG0
StereoMixerAlg1
- Stereo Mixer( 2 ) : Gain`max[ 6 ],Gain`min[ -30 ],Gain`res[ 36 ],Gain[ 0 ];Gain`max[ 6 ],Gain`min[ -30 ],Gain`res[ 36 ],Gain[ 0 ];
+ Stereo Mixer( 3 ) : Gain`max[ 6 ],Gain`min[ -30 ],Gain`res[ 36 ],Gain[ 0 ];Gain`max[ 6 ],Gain`min[ -30 ],Gain`res[ 36 ],Gain[ 0 ];Gain`max[ 6 ],Gain`min[ -30 ],Gain`res[ 36 ],Gain[ 0 ];
StereoMixerAlg12
FixedPoint
- 4
+ 9
1
4
0x00, 0x80, 0x00, 0x00,
@@ -128,7 +128,15 @@
StereoMixerAlg14
FixedPoint
- 5
+ 10
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ StereoMixerAlg16
+ FixedPoint
+ 11
1
4
0x00, 0x80, 0x00, 0x00,
@@ -144,7 +152,7 @@
PEQ1Chan10B1
FixedPoint
- 6
+ 12
0.99815046787262
4
0x00, 0x7F, 0xC3, 0x65,
@@ -152,7 +160,7 @@
PEQ1Chan10B1
FixedPoint
- 6
+ 12
0.99815046787262
4
0x00, 0x7F, 0xC3, 0x65,
@@ -160,7 +168,7 @@
PEQ1Chan11B1
FixedPoint
- 7
+ 13
-1.99630105495453
4
0x0F, 0x00, 0x79, 0x35,
@@ -168,7 +176,7 @@
PEQ1Chan11B1
FixedPoint
- 7
+ 13
-1.99630105495453
4
0x0F, 0x00, 0x79, 0x35,
@@ -176,7 +184,7 @@
PEQ1Chan12B1
FixedPoint
- 8
+ 14
0.99815046787262
4
0x00, 0x7F, 0xC3, 0x65,
@@ -184,7 +192,7 @@
PEQ1Chan12B1
FixedPoint
- 8
+ 14
0.99815046787262
4
0x00, 0x7F, 0xC3, 0x65,
@@ -192,7 +200,7 @@
PEQ1Chan11A1
FixedPoint
- 9
+ 15
1.99629759788513
4
0x00, 0xFF, 0x86, 0xAE,
@@ -200,7 +208,7 @@
PEQ1Chan11A1
FixedPoint
- 9
+ 15
1.99629759788513
4
0x00, 0xFF, 0x86, 0xAE,
@@ -208,7 +216,7 @@
PEQ1Chan12A1
FixedPoint
- 10
+ 16
-0.996304392814636
4
0x0F, 0x80, 0x79, 0x19,
@@ -216,7 +224,7 @@
PEQ1Chan12A1
FixedPoint
- 10
+ 16
-0.996304392814636
4
0x0F, 0x80, 0x79, 0x19,
@@ -224,7 +232,7 @@
PEQ1Chan10B2
FixedPoint
- 11
+ 17
1
4
0x00, 0x80, 0x00, 0x00,
@@ -232,7 +240,7 @@
PEQ1Chan10B2
FixedPoint
- 11
+ 17
1
4
0x00, 0x80, 0x00, 0x00,
@@ -240,7 +248,7 @@
PEQ1Chan11B2
FixedPoint
- 12
+ 18
0
4
0x00, 0x00, 0x00, 0x00,
@@ -248,7 +256,7 @@
PEQ1Chan11B2
FixedPoint
- 12
+ 18
0
4
0x00, 0x00, 0x00, 0x00,
@@ -256,7 +264,7 @@
PEQ1Chan12B2
FixedPoint
- 13
+ 19
0
4
0x00, 0x00, 0x00, 0x00,
@@ -264,7 +272,7 @@
PEQ1Chan12B2
FixedPoint
- 13
+ 19
0
4
0x00, 0x00, 0x00, 0x00,
@@ -272,7 +280,7 @@
PEQ1Chan11A2
FixedPoint
- 14
+ 20
0
4
0x00, 0x00, 0x00, 0x00,
@@ -280,7 +288,7 @@
PEQ1Chan11A2
FixedPoint
- 14
+ 20
0
4
0x00, 0x00, 0x00, 0x00,
@@ -288,7 +296,7 @@
PEQ1Chan12A2
FixedPoint
- 15
+ 21
0
4
0x00, 0x00, 0x00, 0x00,
@@ -296,7 +304,7 @@
PEQ1Chan12A2
FixedPoint
- 15
+ 21
0
4
0x00, 0x00, 0x00, 0x00,
@@ -304,7 +312,7 @@
PEQ1Chan10B3
FixedPoint
- 16
+ 22
1
4
0x00, 0x80, 0x00, 0x00,
@@ -312,7 +320,7 @@
PEQ1Chan10B3
FixedPoint
- 16
+ 22
1
4
0x00, 0x80, 0x00, 0x00,
@@ -320,7 +328,7 @@
PEQ1Chan11B3
FixedPoint
- 17
+ 23
0
4
0x00, 0x00, 0x00, 0x00,
@@ -328,7 +336,7 @@
PEQ1Chan11B3
FixedPoint
- 17
+ 23
0
4
0x00, 0x00, 0x00, 0x00,
@@ -336,7 +344,7 @@
PEQ1Chan12B3
FixedPoint
- 18
+ 24
0
4
0x00, 0x00, 0x00, 0x00,
@@ -344,7 +352,7 @@
PEQ1Chan12B3
FixedPoint
- 18
+ 24
0
4
0x00, 0x00, 0x00, 0x00,
@@ -352,7 +360,7 @@
PEQ1Chan11A3
FixedPoint
- 19
+ 25
0
4
0x00, 0x00, 0x00, 0x00,
@@ -360,7 +368,7 @@
PEQ1Chan11A3
FixedPoint
- 19
+ 25
0
4
0x00, 0x00, 0x00, 0x00,
@@ -368,7 +376,7 @@
PEQ1Chan12A3
FixedPoint
- 20
+ 26
0
4
0x00, 0x00, 0x00, 0x00,
@@ -376,7 +384,7 @@
PEQ1Chan12A3
FixedPoint
- 20
+ 26
0
4
0x00, 0x00, 0x00, 0x00,
@@ -384,7 +392,7 @@
PEQ1Chan10B4
FixedPoint
- 21
+ 27
1
4
0x00, 0x80, 0x00, 0x00,
@@ -392,7 +400,7 @@
PEQ1Chan10B4
FixedPoint
- 21
+ 27
1
4
0x00, 0x80, 0x00, 0x00,
@@ -400,7 +408,7 @@
PEQ1Chan11B4
FixedPoint
- 22
+ 28
0
4
0x00, 0x00, 0x00, 0x00,
@@ -408,7 +416,7 @@
PEQ1Chan11B4
FixedPoint
- 22
+ 28
0
4
0x00, 0x00, 0x00, 0x00,
@@ -416,7 +424,7 @@
PEQ1Chan12B4
FixedPoint
- 23
+ 29
0
4
0x00, 0x00, 0x00, 0x00,
@@ -424,7 +432,7 @@
PEQ1Chan12B4
FixedPoint
- 23
+ 29
0
4
0x00, 0x00, 0x00, 0x00,
@@ -432,7 +440,7 @@
PEQ1Chan11A4
FixedPoint
- 24
+ 30
0
4
0x00, 0x00, 0x00, 0x00,
@@ -440,7 +448,7 @@
PEQ1Chan11A4
FixedPoint
- 24
+ 30
0
4
0x00, 0x00, 0x00, 0x00,
@@ -448,7 +456,7 @@
PEQ1Chan12A4
FixedPoint
- 25
+ 31
0
4
0x00, 0x00, 0x00, 0x00,
@@ -456,7 +464,7 @@
PEQ1Chan12A4
FixedPoint
- 25
+ 31
0
4
0x00, 0x00, 0x00, 0x00,
@@ -464,7 +472,7 @@
PEQ1Chan10B5
FixedPoint
- 26
+ 32
1
4
0x00, 0x80, 0x00, 0x00,
@@ -472,7 +480,7 @@
PEQ1Chan10B5
FixedPoint
- 26
+ 32
1
4
0x00, 0x80, 0x00, 0x00,
@@ -480,7 +488,7 @@
PEQ1Chan11B5
FixedPoint
- 27
+ 33
0
4
0x00, 0x00, 0x00, 0x00,
@@ -488,7 +496,7 @@
PEQ1Chan11B5
FixedPoint
- 27
+ 33
0
4
0x00, 0x00, 0x00, 0x00,
@@ -496,7 +504,7 @@
PEQ1Chan12B5
FixedPoint
- 28
+ 34
0
4
0x00, 0x00, 0x00, 0x00,
@@ -504,7 +512,7 @@
PEQ1Chan12B5
FixedPoint
- 28
+ 34
0
4
0x00, 0x00, 0x00, 0x00,
@@ -512,7 +520,7 @@
PEQ1Chan11A5
FixedPoint
- 29
+ 35
0
4
0x00, 0x00, 0x00, 0x00,
@@ -520,7 +528,7 @@
PEQ1Chan11A5
FixedPoint
- 29
+ 35
0
4
0x00, 0x00, 0x00, 0x00,
@@ -528,7 +536,7 @@
PEQ1Chan12A5
FixedPoint
- 30
+ 36
0
4
0x00, 0x00, 0x00, 0x00,
@@ -536,7 +544,7 @@
PEQ1Chan12A5
FixedPoint
- 30
+ 36
0
4
0x00, 0x00, 0x00, 0x00,
@@ -544,7 +552,7 @@
PEQ1Chan10B6
FixedPoint
- 31
+ 37
1
4
0x00, 0x80, 0x00, 0x00,
@@ -552,7 +560,7 @@
PEQ1Chan10B6
FixedPoint
- 31
+ 37
1
4
0x00, 0x80, 0x00, 0x00,
@@ -560,7 +568,7 @@
PEQ1Chan11B6
FixedPoint
- 32
+ 38
0
4
0x00, 0x00, 0x00, 0x00,
@@ -568,7 +576,7 @@
PEQ1Chan11B6
FixedPoint
- 32
+ 38
0
4
0x00, 0x00, 0x00, 0x00,
@@ -576,7 +584,7 @@
PEQ1Chan12B6
FixedPoint
- 33
+ 39
0
4
0x00, 0x00, 0x00, 0x00,
@@ -584,7 +592,7 @@
PEQ1Chan12B6
FixedPoint
- 33
+ 39
0
4
0x00, 0x00, 0x00, 0x00,
@@ -592,7 +600,7 @@
PEQ1Chan11A6
FixedPoint
- 34
+ 40
0
4
0x00, 0x00, 0x00, 0x00,
@@ -600,7 +608,7 @@
PEQ1Chan11A6
FixedPoint
- 34
+ 40
0
4
0x00, 0x00, 0x00, 0x00,
@@ -608,7 +616,7 @@
PEQ1Chan12A6
FixedPoint
- 35
+ 41
0
4
0x00, 0x00, 0x00, 0x00,
@@ -616,7 +624,7 @@
PEQ1Chan12A6
FixedPoint
- 35
+ 41
0
4
0x00, 0x00, 0x00, 0x00,
@@ -632,7 +640,7 @@
Gain1940AlgNS5
FixedPoint
- 36
+ 42
1
4
0x00, 0x80, 0x00, 0x00,
@@ -645,7 +653,7 @@
Gain1940AlgNS6
FixedPoint
- 37
+ 43
1
4
0x00, 0x80, 0x00, 0x00,
@@ -661,7 +669,7 @@
limiterAlg1slope_1
FixedPoint
- 38
+ 44
-0.014285683631897
4
0x0F, 0xFE, 0x2B, 0xE3,
@@ -669,7 +677,7 @@
limiterAlg1inter_1
FixedPoint
- 39
+ 45
0.27142858505249
4
0x00, 0x22, 0xBE, 0x2C,
@@ -677,7 +685,7 @@
limiterAlg1slope_2
FixedPoint
- 40
+ 46
-0.166666626930237
4
0x0F, 0xEA, 0xAA, 0xAB,
@@ -685,7 +693,7 @@
limiterAlg1inter_2
FixedPoint
- 41
+ 47
0.833333373069763
4
0x00, 0x6A, 0xAA, 0xAB,
@@ -693,7 +701,7 @@
limiterAlg1slope_3
FixedPoint
- 42
+ 48
-0.79365074634552
4
0x0F, 0x9A, 0x69, 0xA7,
@@ -701,7 +709,7 @@
limiterAlg1inter_3
FixedPoint
- 43
+ 49
1.98412692546844
4
0x00, 0xFD, 0xF7, 0xDF,
@@ -709,7 +717,7 @@
limiterAlg1slope_4
FixedPoint
- 44
+ 50
-15.5279502868652
4
0x08, 0x3C, 0x6C, 0x20,
@@ -717,7 +725,7 @@
limiterAlg1inter_4
FixedPoint
- 45
+ 51
7.91925466060638
4
0x03, 0xF5, 0xAA, 0x23,
@@ -725,7 +733,7 @@
limiterAlg1comp1
FixedPoint
- 46
+ 52
3
4
0x01, 0x80, 0x00, 0x00,
@@ -733,7 +741,7 @@
limiterAlg1comp2
FixedPoint
- 47
+ 53
2
4
0x01, 0x00, 0x00, 0x00,
@@ -741,7 +749,7 @@
limiterAlg1comp3
FixedPoint
- 48
+ 54
0.399999976158142
4
0x00, 0x33, 0x33, 0x33,
@@ -749,7 +757,7 @@
limiterAlg1threshold
FixedPoint
- 49
+ 55
1
4
0x00, 0x80, 0x00, 0x00,
@@ -757,7 +765,7 @@
limiterAlg1RMS_MONO_TCONST
FixedPoint
- 50
+ 56
0.000239849090576172
4
0x00, 0x00, 0x07, 0xDC,
@@ -765,7 +773,7 @@
limiterAlg1decay
FixedPoint
- 51
+ 57
0.000244140625
4
0x00, 0x00, 0x08, 0x00,
@@ -773,7 +781,7 @@
limiterAlg1decaycomplement
FixedPoint
- 52
+ 58
0.99951171875
4
0x00, 0x7F, 0xF0, 0x00,
@@ -789,7 +797,7 @@
limiterAlg2slope_1
FixedPoint
- 53
+ 59
-0.014285683631897
4
0x0F, 0xFE, 0x2B, 0xE3,
@@ -797,7 +805,7 @@
limiterAlg2inter_1
FixedPoint
- 54
+ 60
0.27142858505249
4
0x00, 0x22, 0xBE, 0x2C,
@@ -805,7 +813,7 @@
limiterAlg2slope_2
FixedPoint
- 55
+ 61
-0.166666626930237
4
0x0F, 0xEA, 0xAA, 0xAB,
@@ -813,7 +821,7 @@
limiterAlg2inter_2
FixedPoint
- 56
+ 62
0.833333373069763
4
0x00, 0x6A, 0xAA, 0xAB,
@@ -821,7 +829,7 @@
limiterAlg2slope_3
FixedPoint
- 57
+ 63
-0.79365074634552
4
0x0F, 0x9A, 0x69, 0xA7,
@@ -829,7 +837,7 @@
limiterAlg2inter_3
FixedPoint
- 58
+ 64
1.98412692546844
4
0x00, 0xFD, 0xF7, 0xDF,
@@ -837,7 +845,7 @@
limiterAlg2slope_4
FixedPoint
- 59
+ 65
-15.5279502868652
4
0x08, 0x3C, 0x6C, 0x20,
@@ -845,7 +853,7 @@
limiterAlg2inter_4
FixedPoint
- 60
+ 66
7.91925466060638
4
0x03, 0xF5, 0xAA, 0x23,
@@ -853,7 +861,7 @@
limiterAlg2comp1
FixedPoint
- 61
+ 67
3
4
0x01, 0x80, 0x00, 0x00,
@@ -861,7 +869,7 @@
limiterAlg2comp2
FixedPoint
- 62
+ 68
2
4
0x01, 0x00, 0x00, 0x00,
@@ -869,7 +877,7 @@
limiterAlg2comp3
FixedPoint
- 63
+ 69
0.399999976158142
4
0x00, 0x33, 0x33, 0x33,
@@ -877,7 +885,7 @@
limiterAlg2threshold
FixedPoint
- 64
+ 70
1
4
0x00, 0x80, 0x00, 0x00,
@@ -885,7 +893,7 @@
limiterAlg2RMS_MONO_TCONST
FixedPoint
- 65
+ 71
0.000239849090576172
4
0x00, 0x00, 0x07, 0xDC,
@@ -893,7 +901,7 @@
limiterAlg2decay
FixedPoint
- 66
+ 72
0.000244140625
4
0x00, 0x00, 0x08, 0x00,
@@ -901,12 +909,76 @@
limiterAlg2decaycomplement
FixedPoint
- 67
+ 73
0.99951171875
4
0x00, 0x7F, 0xF0, 0x00,
+
+ Beep1
+
+ ALG0
+ BeepAlg1
+ Beep - variable gain( 1 ) : Frequency[ 440 ];
+
+ enableBeepAlg1
+ FixedPoint
+ 0
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ kickBeepAlg1
+ FixedPoint
+ 1
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ beep_freqBeepAlg1
+ FixedPoint
+ 2
+ 0.00331640243530273
+ 4
+ 0x00, 0x00, 0x6C, 0xAC,
+
+
+
+
+ Single 1
+
+ ALG0
+ Gain1940AlgNS7
+ Gain (no slew)( 1 ) : Gain`max[ 0 ],Gain`min[ -80 ],Gain`res[ 40 ],Gain[ 0 ];
+
+ Gain1940AlgNS7
+ FixedPoint
+ 7
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
+
+ S Splitter1
+
+ ALG0
+ SingleCtrlSplit1
+ Splitter Single( 1 ) : Gain`max[ 8 ],Gain`min[ -40 ],Gain`res[ 48 ],Gain[ 0 ];
+
+ SingleCtrlSplit1
+ FixedPoint
+ 8
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
\ No newline at end of file
diff --git a/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1.h b/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1.h
index 9db41dc..502be37 100644
--- a/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1.h
+++ b/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1.h
@@ -1,7 +1,7 @@
/*
- * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadio\DigiRadio_IC_1.h
+ * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadio\DigiRadioModificato\DigiRadio_IC_1.h
*
- * Created: Monday, July 6, 2026 2:41:28 PM
+ * Created: Friday, August 7, 2026 3:19:11 AM
* Description: DigiRadio:IC 1 program data.
*
* This software is distributed in the hope that it will be useful,
@@ -23,7 +23,7 @@
#include "DigiRadio_IC_1_REG.h"
#define DEVICE_ARCHITECTURE_IC_1 "ADAU1701"
-#define DEVICE_ADDR_IC_1 0x68
+#define DEVICE_ADDR_IC_1 0x1
/* DSP Program Data */
#define PROGRAM_SIZE_IC_1 5120
@@ -41,310 +41,332 @@ ADI_REG_TYPE Program_Data_IC_1[PROGRAM_SIZE_IC_1] = {
0x00, 0x20, 0x00, 0xE8, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x28, 0x00, 0xE8, 0x01,
-0x00, 0x12, 0x00, 0x20, 0x01,
-0x00, 0x30, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x1A, 0x01, 0x20, 0x01,
+0x00, 0x02, 0x01, 0xA0, 0x01,
+0xFF, 0xE1, 0x07, 0x20, 0x01,
0x00, 0x38, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x22, 0x02, 0x20, 0x01,
-0x00, 0x40, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x2A, 0x03, 0x20, 0x01,
+0x00, 0x42, 0x02, 0x20, 0x01,
+0x00, 0x52, 0x00, 0x22, 0x01,
+0x00, 0x58, 0x00, 0xE2, 0x01,
+0x00, 0x42, 0x00, 0x20, 0x01,
+0x00, 0x59, 0x08, 0x22, 0x41,
+0x00, 0x39, 0x08, 0x22, 0x01,
+0x00, 0x31, 0x08, 0x22, 0x41,
0x00, 0x48, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x32, 0x04, 0x20, 0x01,
-0x00, 0x3A, 0x04, 0x40, 0x01,
-0x00, 0x42, 0x05, 0x22, 0x01,
-0x00, 0x4A, 0x05, 0x44, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x12, 0x03, 0x20, 0x01,
0x00, 0x60, 0x00, 0xE2, 0x01,
-0x01, 0x98, 0x00, 0xE4, 0x01,
-0x00, 0x8A, 0x09, 0x20, 0x01,
-0x00, 0x82, 0x0A, 0x22, 0x01,
-0x00, 0x72, 0x09, 0x34, 0x01,
-0x00, 0x6A, 0x0A, 0x22, 0x01,
-0x00, 0x62, 0x06, 0x22, 0x01,
-0x00, 0x5A, 0x07, 0x22, 0x01,
-0x00, 0x52, 0x08, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x1A, 0x04, 0x20, 0x01,
+0x00, 0x68, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x22, 0x05, 0x20, 0x01,
+0x00, 0x70, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x2A, 0x06, 0x20, 0x01,
0x00, 0x78, 0x00, 0xE2, 0x01,
-0x00, 0x90, 0x00, 0xF2, 0x01,
-0x00, 0xBA, 0x0E, 0x20, 0x01,
-0x00, 0xB2, 0x0F, 0x22, 0x01,
-0x00, 0xA2, 0x0E, 0x34, 0x01,
-0x00, 0x9A, 0x0F, 0x22, 0x01,
-0x00, 0x7A, 0x0B, 0x22, 0x01,
-0x00, 0x72, 0x0C, 0x22, 0x01,
-0x00, 0x6A, 0x0D, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x5A, 0x07, 0x20, 0x01,
+0x00, 0x80, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x82, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x88, 0x00, 0xE2, 0x01,
+0x00, 0x82, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x90, 0x00, 0xE2, 0x01,
+0x00, 0x62, 0x09, 0x20, 0x01,
+0x00, 0x6A, 0x09, 0x40, 0x01,
+0x00, 0x72, 0x0A, 0x22, 0x01,
+0x00, 0x7A, 0x0A, 0x44, 0x01,
+0x00, 0x8A, 0x0B, 0x22, 0x01,
+0x00, 0x92, 0x0B, 0x44, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0xA8, 0x00, 0xE2, 0x01,
-0x00, 0xC0, 0x00, 0xF2, 0x01,
-0x00, 0xEA, 0x13, 0x20, 0x01,
-0x00, 0xE2, 0x14, 0x22, 0x01,
-0x00, 0xD2, 0x13, 0x34, 0x01,
-0x00, 0xCA, 0x14, 0x22, 0x01,
-0x00, 0xAA, 0x10, 0x22, 0x01,
-0x00, 0xA2, 0x11, 0x22, 0x01,
-0x00, 0x9A, 0x12, 0x22, 0x01,
+0x01, 0xE0, 0x00, 0xE4, 0x01,
+0x00, 0xD2, 0x0F, 0x20, 0x01,
+0x00, 0xCA, 0x10, 0x22, 0x01,
+0x00, 0xBA, 0x0F, 0x34, 0x01,
+0x00, 0xB2, 0x10, 0x22, 0x01,
+0x00, 0xAA, 0x0C, 0x22, 0x01,
+0x00, 0xA2, 0x0D, 0x22, 0x01,
+0x00, 0x9A, 0x0E, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0xD8, 0x00, 0xE2, 0x01,
-0x00, 0xF0, 0x00, 0xF2, 0x01,
-0x01, 0x1A, 0x18, 0x20, 0x01,
-0x01, 0x12, 0x19, 0x22, 0x01,
-0x01, 0x02, 0x18, 0x34, 0x01,
-0x00, 0xFA, 0x19, 0x22, 0x01,
-0x00, 0xDA, 0x15, 0x22, 0x01,
-0x00, 0xD2, 0x16, 0x22, 0x01,
-0x00, 0xCA, 0x17, 0x22, 0x01,
+0x00, 0xC0, 0x00, 0xE2, 0x01,
+0x00, 0xD8, 0x00, 0xF2, 0x01,
+0x01, 0x02, 0x14, 0x20, 0x01,
+0x00, 0xFA, 0x15, 0x22, 0x01,
+0x00, 0xEA, 0x14, 0x34, 0x01,
+0x00, 0xE2, 0x15, 0x22, 0x01,
+0x00, 0xC2, 0x11, 0x22, 0x01,
+0x00, 0xBA, 0x12, 0x22, 0x01,
+0x00, 0xB2, 0x13, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x01, 0x08, 0x00, 0xE2, 0x01,
-0x01, 0x20, 0x00, 0xF2, 0x01,
-0x01, 0x4A, 0x1D, 0x20, 0x01,
-0x01, 0x42, 0x1E, 0x22, 0x01,
-0x01, 0x32, 0x1D, 0x34, 0x01,
-0x01, 0x2A, 0x1E, 0x22, 0x01,
-0x01, 0x0A, 0x1A, 0x22, 0x01,
-0x01, 0x02, 0x1B, 0x22, 0x01,
-0x00, 0xFA, 0x1C, 0x22, 0x01,
+0x00, 0xF0, 0x00, 0xE2, 0x01,
+0x01, 0x08, 0x00, 0xF2, 0x01,
+0x01, 0x32, 0x19, 0x20, 0x01,
+0x01, 0x2A, 0x1A, 0x22, 0x01,
+0x01, 0x1A, 0x19, 0x34, 0x01,
+0x01, 0x12, 0x1A, 0x22, 0x01,
+0x00, 0xF2, 0x16, 0x22, 0x01,
+0x00, 0xEA, 0x17, 0x22, 0x01,
+0x00, 0xE2, 0x18, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x01, 0x38, 0x00, 0xE2, 0x01,
-0x01, 0x50, 0x00, 0xF2, 0x01,
-0x01, 0x7A, 0x22, 0x20, 0x01,
-0x01, 0x72, 0x23, 0x22, 0x01,
-0x01, 0x62, 0x22, 0x34, 0x01,
-0x01, 0x5A, 0x23, 0x22, 0x01,
-0x01, 0x3A, 0x1F, 0x22, 0x01,
-0x01, 0x32, 0x20, 0x22, 0x01,
-0x01, 0x2A, 0x21, 0x22, 0x01,
+0x01, 0x20, 0x00, 0xE2, 0x01,
+0x01, 0x38, 0x00, 0xF2, 0x01,
+0x01, 0x62, 0x1E, 0x20, 0x01,
+0x01, 0x5A, 0x1F, 0x22, 0x01,
+0x01, 0x4A, 0x1E, 0x34, 0x01,
+0x01, 0x42, 0x1F, 0x22, 0x01,
+0x01, 0x22, 0x1B, 0x22, 0x01,
+0x01, 0x1A, 0x1C, 0x22, 0x01,
+0x01, 0x12, 0x1D, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x01, 0x68, 0x00, 0xE2, 0x01,
-0x01, 0x80, 0x00, 0xF2, 0x01,
-0x01, 0xC2, 0x09, 0x20, 0x01,
-0x01, 0xBA, 0x0A, 0x22, 0x01,
-0x01, 0xAA, 0x09, 0x34, 0x01,
-0x01, 0xA2, 0x0A, 0x22, 0x01,
-0x01, 0x9A, 0x06, 0x22, 0x01,
-0x01, 0x92, 0x07, 0x22, 0x01,
-0x01, 0x8A, 0x08, 0x22, 0x01,
+0x01, 0x50, 0x00, 0xE2, 0x01,
+0x01, 0x68, 0x00, 0xF2, 0x01,
+0x01, 0x92, 0x23, 0x20, 0x01,
+0x01, 0x8A, 0x24, 0x22, 0x01,
+0x01, 0x7A, 0x23, 0x34, 0x01,
+0x01, 0x72, 0x24, 0x22, 0x01,
+0x01, 0x52, 0x20, 0x22, 0x01,
+0x01, 0x4A, 0x21, 0x22, 0x01,
+0x01, 0x42, 0x22, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x80, 0x00, 0xE2, 0x01,
+0x01, 0x98, 0x00, 0xF2, 0x01,
+0x01, 0xC2, 0x28, 0x20, 0x01,
+0x01, 0xBA, 0x29, 0x22, 0x01,
+0x01, 0xAA, 0x28, 0x34, 0x01,
+0x01, 0xA2, 0x29, 0x22, 0x01,
+0x01, 0x82, 0x25, 0x22, 0x01,
+0x01, 0x7A, 0x26, 0x22, 0x01,
+0x01, 0x72, 0x27, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x01, 0xB0, 0x00, 0xE2, 0x01,
0x01, 0xC8, 0x00, 0xF2, 0x01,
-0x01, 0xF2, 0x0E, 0x20, 0x01,
-0x01, 0xEA, 0x0F, 0x22, 0x01,
-0x01, 0xDA, 0x0E, 0x34, 0x01,
-0x01, 0xD2, 0x0F, 0x22, 0x01,
-0x01, 0xB2, 0x0B, 0x22, 0x01,
-0x01, 0xAA, 0x0C, 0x22, 0x01,
-0x01, 0xA2, 0x0D, 0x22, 0x01,
+0x02, 0x0A, 0x0F, 0x20, 0x01,
+0x02, 0x02, 0x10, 0x22, 0x01,
+0x01, 0xF2, 0x0F, 0x34, 0x01,
+0x01, 0xEA, 0x10, 0x22, 0x01,
+0x01, 0xE2, 0x0C, 0x22, 0x01,
+0x01, 0xDA, 0x0D, 0x22, 0x01,
+0x01, 0xD2, 0x0E, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x01, 0xE0, 0x00, 0xE2, 0x01,
-0x01, 0xF8, 0x00, 0xF2, 0x01,
-0x02, 0x22, 0x13, 0x20, 0x01,
-0x02, 0x1A, 0x14, 0x22, 0x01,
-0x02, 0x0A, 0x13, 0x34, 0x01,
-0x02, 0x02, 0x14, 0x22, 0x01,
-0x01, 0xE2, 0x10, 0x22, 0x01,
-0x01, 0xDA, 0x11, 0x22, 0x01,
-0x01, 0xD2, 0x12, 0x22, 0x01,
+0x01, 0xF8, 0x00, 0xE2, 0x01,
+0x02, 0x10, 0x00, 0xF2, 0x01,
+0x02, 0x3A, 0x14, 0x20, 0x01,
+0x02, 0x32, 0x15, 0x22, 0x01,
+0x02, 0x22, 0x14, 0x34, 0x01,
+0x02, 0x1A, 0x15, 0x22, 0x01,
+0x01, 0xFA, 0x11, 0x22, 0x01,
+0x01, 0xF2, 0x12, 0x22, 0x01,
+0x01, 0xEA, 0x13, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0x10, 0x00, 0xE2, 0x01,
-0x02, 0x28, 0x00, 0xF2, 0x01,
-0x02, 0x52, 0x18, 0x20, 0x01,
-0x02, 0x4A, 0x19, 0x22, 0x01,
-0x02, 0x3A, 0x18, 0x34, 0x01,
-0x02, 0x32, 0x19, 0x22, 0x01,
-0x02, 0x12, 0x15, 0x22, 0x01,
-0x02, 0x0A, 0x16, 0x22, 0x01,
-0x02, 0x02, 0x17, 0x22, 0x01,
+0x02, 0x28, 0x00, 0xE2, 0x01,
+0x02, 0x40, 0x00, 0xF2, 0x01,
+0x02, 0x6A, 0x19, 0x20, 0x01,
+0x02, 0x62, 0x1A, 0x22, 0x01,
+0x02, 0x52, 0x19, 0x34, 0x01,
+0x02, 0x4A, 0x1A, 0x22, 0x01,
+0x02, 0x2A, 0x16, 0x22, 0x01,
+0x02, 0x22, 0x17, 0x22, 0x01,
+0x02, 0x1A, 0x18, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0x40, 0x00, 0xE2, 0x01,
-0x02, 0x58, 0x00, 0xF2, 0x01,
-0x02, 0x82, 0x1D, 0x20, 0x01,
-0x02, 0x7A, 0x1E, 0x22, 0x01,
-0x02, 0x6A, 0x1D, 0x34, 0x01,
-0x02, 0x62, 0x1E, 0x22, 0x01,
-0x02, 0x42, 0x1A, 0x22, 0x01,
-0x02, 0x3A, 0x1B, 0x22, 0x01,
-0x02, 0x32, 0x1C, 0x22, 0x01,
+0x02, 0x58, 0x00, 0xE2, 0x01,
+0x02, 0x70, 0x00, 0xF2, 0x01,
+0x02, 0x9A, 0x1E, 0x20, 0x01,
+0x02, 0x92, 0x1F, 0x22, 0x01,
+0x02, 0x82, 0x1E, 0x34, 0x01,
+0x02, 0x7A, 0x1F, 0x22, 0x01,
+0x02, 0x5A, 0x1B, 0x22, 0x01,
+0x02, 0x52, 0x1C, 0x22, 0x01,
+0x02, 0x4A, 0x1D, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0x70, 0x00, 0xE2, 0x01,
-0x02, 0x88, 0x00, 0xF2, 0x01,
-0x02, 0xB2, 0x22, 0x20, 0x01,
-0x02, 0xAA, 0x23, 0x22, 0x01,
-0x02, 0x9A, 0x22, 0x34, 0x01,
-0x02, 0x92, 0x23, 0x22, 0x01,
-0x02, 0x72, 0x1F, 0x22, 0x01,
-0x02, 0x6A, 0x20, 0x22, 0x01,
-0x02, 0x62, 0x21, 0x22, 0x01,
+0x02, 0x88, 0x00, 0xE2, 0x01,
+0x02, 0xA0, 0x00, 0xF2, 0x01,
+0x02, 0xCA, 0x23, 0x20, 0x01,
+0x02, 0xC2, 0x24, 0x22, 0x01,
+0x02, 0xB2, 0x23, 0x34, 0x01,
+0x02, 0xAA, 0x24, 0x22, 0x01,
+0x02, 0x8A, 0x20, 0x22, 0x01,
+0x02, 0x82, 0x21, 0x22, 0x01,
+0x02, 0x7A, 0x22, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xA0, 0x00, 0xE2, 0x01,
-0x02, 0xB8, 0x00, 0xF2, 0x01,
-0x01, 0x6A, 0x24, 0x20, 0x01,
-0x02, 0xC0, 0x00, 0xE2, 0x01,
+0x02, 0xB8, 0x00, 0xE2, 0x01,
+0x02, 0xD0, 0x00, 0xF2, 0x01,
+0x02, 0xFA, 0x28, 0x20, 0x01,
+0x02, 0xF2, 0x29, 0x22, 0x01,
+0x02, 0xE2, 0x28, 0x34, 0x01,
+0x02, 0xDA, 0x29, 0x22, 0x01,
+0x02, 0xBA, 0x25, 0x22, 0x01,
+0x02, 0xB2, 0x26, 0x22, 0x01,
+0x02, 0xAA, 0x27, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xA2, 0x25, 0x20, 0x01,
-0x02, 0xC8, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xC1, 0x08, 0x20, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x28, 0x00, 0xF0, 0x01,
-0xFF, 0xE9, 0x08, 0x22, 0x01,
-0x03, 0x20, 0x00, 0xF2, 0x01,
-0x03, 0x11, 0x08, 0x20, 0x01,
-0x03, 0x12, 0x32, 0x22, 0x41,
-0x03, 0x22, 0x32, 0x22, 0x01,
-0x03, 0x01, 0x08, 0x34, 0x01,
-0x03, 0x02, 0x32, 0x22, 0x41,
-0x03, 0x2A, 0x32, 0x22, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x08, 0x00, 0xE2, 0x01,
-0x03, 0x18, 0x00, 0xF2, 0x01,
-0x03, 0x30, 0x00, 0xE2, 0x01,
-0xFF, 0xF2, 0x2E, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x26, 0x20, 0x01,
-0xFF, 0xF2, 0x27, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x03, 0x32, 0x28, 0x20, 0x01,
-0xFF, 0xF2, 0x29, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0xFF, 0xF2, 0x2F, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x2A, 0x20, 0x01,
-0xFF, 0xF2, 0x2B, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0xFF, 0xF2, 0x30, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x2C, 0x20, 0x01,
-0xFF, 0xF2, 0x2D, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
-0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
-0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
-0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x00, 0x02, 0x31, 0xA0, 0x01,
-0xFF, 0xE7, 0xFF, 0x20, 0x01,
-0x02, 0xF8, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xF9, 0x08, 0x40, 0x01,
-0xFF, 0xF1, 0x08, 0x20, 0x09,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xF8, 0x00, 0xE2, 0x23,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xF9, 0x08, 0x40, 0x01,
-0x02, 0xF1, 0x08, 0x20, 0x09,
-0x02, 0xFA, 0x33, 0x20, 0x01,
-0x02, 0xF2, 0x33, 0x22, 0x41,
-0x02, 0xF1, 0x08, 0x22, 0x01,
-0x02, 0xF8, 0x00, 0xE2, 0x23,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xF9, 0x08, 0x20, 0x01,
0x02, 0xE8, 0x00, 0xE2, 0x01,
-0xFF, 0xF2, 0x34, 0x22, 0x49,
-0xFF, 0xF1, 0x08, 0x20, 0x01,
-0xFF, 0xE9, 0x08, 0x20, 0x25,
-0x02, 0xE0, 0x00, 0xE2, 0x01,
-0x02, 0xF8, 0x00, 0xC0, 0x01,
-0x02, 0xC7, 0xFF, 0x20, 0x01,
-0x02, 0xD8, 0x00, 0xE2, 0x01,
-0x02, 0xC9, 0x08, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xF2, 0x01,
+0x01, 0xB2, 0x2A, 0x20, 0x01,
+0x03, 0x08, 0x00, 0xE2, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x28, 0x00, 0xF0, 0x01,
+0x02, 0xEA, 0x2B, 0x20, 0x01,
+0x03, 0x10, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x09, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x70, 0x00, 0xF0, 0x01,
0xFF, 0xE9, 0x08, 0x22, 0x01,
-0x03, 0x20, 0x00, 0xF2, 0x01,
-0x03, 0x71, 0x08, 0x20, 0x01,
-0x03, 0x72, 0x41, 0x22, 0x41,
-0x03, 0x22, 0x41, 0x22, 0x01,
-0x03, 0x61, 0x08, 0x34, 0x01,
-0x03, 0x62, 0x41, 0x22, 0x41,
-0x03, 0x2A, 0x41, 0x22, 0x01,
+0x03, 0x68, 0x00, 0xF2, 0x01,
+0x03, 0x59, 0x08, 0x20, 0x01,
+0x03, 0x5A, 0x38, 0x22, 0x41,
+0x03, 0x6A, 0x38, 0x22, 0x01,
+0x03, 0x49, 0x08, 0x34, 0x01,
+0x03, 0x4A, 0x38, 0x22, 0x41,
+0x03, 0x72, 0x38, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x68, 0x00, 0xE2, 0x01,
-0x03, 0x78, 0x00, 0xF2, 0x01,
-0x03, 0x30, 0x00, 0xE2, 0x01,
-0xFF, 0xF2, 0x3D, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x35, 0x20, 0x01,
-0xFF, 0xF2, 0x36, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x03, 0x32, 0x37, 0x20, 0x01,
-0xFF, 0xF2, 0x38, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0xFF, 0xF2, 0x3E, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x39, 0x20, 0x01,
-0xFF, 0xF2, 0x3A, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0xFF, 0xF2, 0x3F, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x3B, 0x20, 0x01,
-0xFF, 0xF2, 0x3C, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
+0x03, 0x50, 0x00, 0xE2, 0x01,
+0x03, 0x60, 0x00, 0xF2, 0x01,
+0x03, 0x78, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x34, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x2C, 0x20, 0x01,
+0xFF, 0xF2, 0x2D, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x7A, 0x2E, 0x20, 0x01,
+0xFF, 0xF2, 0x2F, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x35, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x30, 0x20, 0x01,
+0xFF, 0xF2, 0x31, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x36, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x32, 0x20, 0x01,
+0xFF, 0xF2, 0x33, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x00, 0x02, 0x40, 0xA0, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x00, 0x02, 0x37, 0xA0, 0x01,
0xFF, 0xE7, 0xFF, 0x20, 0x01,
-0x03, 0x58, 0x00, 0xE2, 0x01,
+0x03, 0x40, 0x00, 0xE2, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x59, 0x08, 0x40, 0x01,
+0x03, 0x41, 0x08, 0x40, 0x01,
0xFF, 0xF1, 0x08, 0x20, 0x09,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x58, 0x00, 0xE2, 0x23,
+0x03, 0x40, 0x00, 0xE2, 0x23,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x59, 0x08, 0x40, 0x01,
-0x03, 0x51, 0x08, 0x20, 0x09,
-0x03, 0x5A, 0x42, 0x20, 0x01,
-0x03, 0x52, 0x42, 0x22, 0x41,
-0x03, 0x51, 0x08, 0x22, 0x01,
-0x03, 0x58, 0x00, 0xE2, 0x23,
+0x03, 0x41, 0x08, 0x40, 0x01,
+0x03, 0x39, 0x08, 0x20, 0x09,
+0x03, 0x42, 0x39, 0x20, 0x01,
+0x03, 0x3A, 0x39, 0x22, 0x41,
+0x03, 0x39, 0x08, 0x22, 0x01,
+0x03, 0x40, 0x00, 0xE2, 0x23,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x59, 0x08, 0x20, 0x01,
-0x03, 0x48, 0x00, 0xE2, 0x01,
-0xFF, 0xF2, 0x43, 0x22, 0x49,
+0x03, 0x41, 0x08, 0x20, 0x01,
+0x03, 0x30, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x3A, 0x22, 0x49,
0xFF, 0xF1, 0x08, 0x20, 0x01,
0xFF, 0xE9, 0x08, 0x20, 0x25,
-0x03, 0x40, 0x00, 0xE2, 0x01,
-0x03, 0x58, 0x00, 0xC0, 0x01,
-0x02, 0xCF, 0xFF, 0x20, 0x01,
-0x03, 0x38, 0x00, 0xE2, 0x01,
-0x03, 0x39, 0x08, 0x20, 0x01,
+0x03, 0x28, 0x00, 0xE2, 0x01,
+0x03, 0x40, 0x00, 0xC0, 0x01,
+0x03, 0x0F, 0xFF, 0x20, 0x01,
+0x03, 0x20, 0x00, 0xE2, 0x01,
+0x03, 0x11, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x70, 0x00, 0xF0, 0x01,
+0xFF, 0xE9, 0x08, 0x22, 0x01,
+0x03, 0x68, 0x00, 0xF2, 0x01,
+0x03, 0xB9, 0x08, 0x20, 0x01,
+0x03, 0xBA, 0x47, 0x22, 0x41,
+0x03, 0x6A, 0x47, 0x22, 0x01,
+0x03, 0xA9, 0x08, 0x34, 0x01,
+0x03, 0xAA, 0x47, 0x22, 0x41,
+0x03, 0x72, 0x47, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xB0, 0x00, 0xE2, 0x01,
+0x03, 0xC0, 0x00, 0xF2, 0x01,
+0x03, 0x78, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x43, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x3B, 0x20, 0x01,
+0xFF, 0xF2, 0x3C, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x7A, 0x3D, 0x20, 0x01,
+0xFF, 0xF2, 0x3E, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x44, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x3F, 0x20, 0x01,
+0xFF, 0xF2, 0x40, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x45, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x41, 0x20, 0x01,
+0xFF, 0xF2, 0x42, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x00, 0x02, 0x46, 0xA0, 0x01,
+0xFF, 0xE7, 0xFF, 0x20, 0x01,
+0x03, 0xA0, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xA1, 0x08, 0x40, 0x01,
+0xFF, 0xF1, 0x08, 0x20, 0x09,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xA0, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xA1, 0x08, 0x40, 0x01,
+0x03, 0x99, 0x08, 0x20, 0x09,
+0x03, 0xA2, 0x48, 0x20, 0x01,
+0x03, 0x9A, 0x48, 0x22, 0x41,
+0x03, 0x99, 0x08, 0x22, 0x01,
+0x03, 0xA0, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xA1, 0x08, 0x20, 0x01,
+0x03, 0x90, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x49, 0x22, 0x49,
+0xFF, 0xF1, 0x08, 0x20, 0x01,
+0xFF, 0xE9, 0x08, 0x20, 0x25,
+0x03, 0x88, 0x00, 0xE2, 0x01,
+0x03, 0xA0, 0x00, 0xC0, 0x01,
+0x03, 0x17, 0xFF, 0x20, 0x01,
+0x03, 0x80, 0x00, 0xE2, 0x01,
+0x03, 0x81, 0x08, 0x20, 0x01,
0xFF, 0x30, 0x00, 0x02, 0x01,
-0x02, 0xD9, 0x08, 0x20, 0x01,
+0x03, 0x21, 0x08, 0x20, 0x01,
0xFF, 0x28, 0x00, 0x02, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
@@ -1031,34 +1053,18 @@ ADI_REG_TYPE Program_Data_IC_1[PROGRAM_SIZE_IC_1] = {
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
};
/* DSP Parameter (Coefficient) Data */
#define PARAM_SIZE_IC_1 4096
#define PARAM_ADDR_IC_1 0
ADI_REG_TYPE Param_Data_IC_1[PARAM_SIZE_IC_1] = {
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x6C, 0xAC,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00,
@@ -2077,12 +2083,6 @@ ADI_REG_TYPE Param_Data_IC_1[PARAM_SIZE_IC_1] = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
};
@@ -2094,7 +2094,7 @@ ADI_REG_TYPE R0_COREREGISTER_IC_1_Default[REG_COREREGISTER_IC_1_BYTE] = {
/* Register Default - IC 1.HWConFiguration */
#define R3_HWCONFIGURATION_IC_1_SIZE 24
ADI_REG_TYPE R3_HWCONFIGURATION_IC_1_Default[R3_HWCONFIGURATION_IC_1_SIZE] = {
-0x00, 0x18, 0x08, 0x08, 0x00, 0x00, 0x44, 0x00, 0x44, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
+0x00, 0x18, 0x0B, 0x08, 0x00, 0x00, 0x44, 0x00, 0x44, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
};
/* Register Default - IC 1.CoreRegister */
diff --git a/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1_PARAM.h b/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1_PARAM.h
index 84cad57..f818e2b 100644
--- a/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1_PARAM.h
+++ b/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1_PARAM.h
@@ -1,7 +1,7 @@
/*
- * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadio\DigiRadio_IC_1_PARAM.h
+ * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadio\DigiRadioModificato\DigiRadio_IC_1_PARAM.h
*
- * Created: Monday, July 6, 2026 2:41:28 PM
+ * Created: Friday, August 7, 2026 3:19:11 AM
* Description: DigiRadio:IC 1 parameter RAM definitions.
*
* This software is distributed in the hope that it will be useful,
@@ -20,14 +20,30 @@
#define __DIGIRADIO_IC_1_PARAM_H__
+/* Module Beep1 - Beep Sources*/
+#define COUNT_BEEP1 3
+#define DEVICE_BEEP1 "IC1"
+#define ADDR_BEEP1_ENABLE 0
+#define FIXPT_BEEP1_ENABLE 0x00000000
+#define VALUE_BEEP1_ENABLE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_BEEP1_ENABLE SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_BEEP1_KICK 1
+#define FIXPT_BEEP1_KICK 0x00000000
+#define VALUE_BEEP1_KICK SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_BEEP1_KICK SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_BEEP1_BEEP_FREQ 2
+#define FIXPT_BEEP1_BEEP_FREQ 0x00006CAB
+#define VALUE_BEEP1_BEEP_FREQ SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.00331636677280911)
+#define TYPE_BEEP1_BEEP_FREQ SIGMASTUDIOTYPE_FIXPOINT
+
/* Module Si4674 - Multiple Volume Control*/
#define COUNT_SI4674 2
#define DEVICE_SI4674 "IC1"
-#define ADDR_SI4674 0
+#define ADDR_SI4674 3
#define FIXPT_SI4674 0x00800000
#define VALUE_SI4674 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_SI4674 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_SI4674_1 1
+#define ADDR_SI4674_1 4
#define FIXPT_SI4674_1 0x00800000
#define VALUE_SI4674_1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_SI4674_1 SIGMASTUDIOTYPE_FIXPOINT
@@ -35,267 +51,287 @@
/* Module ESP32 - Multiple Volume Control*/
#define COUNT_ESP32 2
#define DEVICE_ESP32 "IC1"
-#define ADDR_ESP32 2
+#define ADDR_ESP32 5
#define FIXPT_ESP32 0x00800000
#define VALUE_ESP32 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_ESP32 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_ESP32_1 3
+#define ADDR_ESP32_1 6
#define FIXPT_ESP32_1 0x00800000
#define VALUE_ESP32_1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_ESP32_1 SIGMASTUDIOTYPE_FIXPOINT
+/* Module Single 1 - Single Volume*/
+#define COUNT_SINGLE1 1
+#define DEVICE_SINGLE1 "IC1"
+#define ADDR_SINGLE1 7
+#define FIXPT_SINGLE1 0x00800000
+#define VALUE_SINGLE1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_SINGLE1 SIGMASTUDIOTYPE_FIXPOINT
+
+/* Module S Splitter1 - Single Control Splitter*/
+#define COUNT_SSPLITTER1 1
+#define DEVICE_SSPLITTER1 "IC1"
+#define ADDR_SSPLITTER1 8
+#define FIXPT_SSPLITTER1 0x00800000
+#define VALUE_SSPLITTER1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_SSPLITTER1 SIGMASTUDIOTYPE_FIXPOINT
+
/* Module St Mixer1 - Stereo Mixer*/
-#define COUNT_STMIXER1 2
+#define COUNT_STMIXER1 3
#define DEVICE_STMIXER1 "IC1"
-#define ADDR_STMIXER1_ST0_VOLUME 4
+#define ADDR_STMIXER1_ST0_VOLUME 9
#define FIXPT_STMIXER1_ST0_VOLUME 0x00800000
#define VALUE_STMIXER1_ST0_VOLUME SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_STMIXER1_ST0_VOLUME SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_STMIXER1_ST1_VOLUME 5
+#define ADDR_STMIXER1_ST1_VOLUME 10
#define FIXPT_STMIXER1_ST1_VOLUME 0x00800000
#define VALUE_STMIXER1_ST1_VOLUME SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_STMIXER1_ST1_VOLUME SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_STMIXER1_ST2_VOLUME 11
+#define FIXPT_STMIXER1_ST2_VOLUME 0x00800000
+#define VALUE_STMIXER1_ST2_VOLUME SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_STMIXER1_ST2_VOLUME SIGMASTUDIOTYPE_FIXPOINT
/* Module Param EQ1 - Parametric EQ*/
#define COUNT_PARAMEQ1 60
#define DEVICE_PARAMEQ1 "IC1"
-#define ADDR_PARAMEQ1_ST0_B0 6
+#define ADDR_PARAMEQ1_ST0_B0 12
#define FIXPT_PARAMEQ1_ST0_B0 0x007FC365
#define VALUE_PARAMEQ1_ST0_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998150511190452)
#define TYPE_PARAMEQ1_ST0_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_B0 6
+#define ADDR_PARAMEQ1_ST0_B0 12
#define FIXPT_PARAMEQ1_ST0_B0 0x007FC365
#define VALUE_PARAMEQ1_ST0_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998150511190452)
#define TYPE_PARAMEQ1_ST0_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_B1 7
+#define ADDR_PARAMEQ1_ST0_B1 13
#define FIXPT_PARAMEQ1_ST0_B1 0xFF007936
#define VALUE_PARAMEQ1_ST0_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-1.9963010223809)
#define TYPE_PARAMEQ1_ST0_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_B1 7
+#define ADDR_PARAMEQ1_ST0_B1 13
#define FIXPT_PARAMEQ1_ST0_B1 0xFF007936
#define VALUE_PARAMEQ1_ST0_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-1.9963010223809)
#define TYPE_PARAMEQ1_ST0_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_B2 8
+#define ADDR_PARAMEQ1_ST0_B2 14
#define FIXPT_PARAMEQ1_ST0_B2 0x007FC365
#define VALUE_PARAMEQ1_ST0_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998150511190452)
#define TYPE_PARAMEQ1_ST0_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_B2 8
+#define ADDR_PARAMEQ1_ST0_B2 14
#define FIXPT_PARAMEQ1_ST0_B2 0x007FC365
#define VALUE_PARAMEQ1_ST0_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998150511190452)
#define TYPE_PARAMEQ1_ST0_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_A0 9
+#define ADDR_PARAMEQ1_ST0_A0 15
#define FIXPT_PARAMEQ1_ST0_A0 0x00FF86AE
#define VALUE_PARAMEQ1_ST0_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.99629760176912)
#define TYPE_PARAMEQ1_ST0_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_A0 9
+#define ADDR_PARAMEQ1_ST0_A0 15
#define FIXPT_PARAMEQ1_ST0_A0 0x00FF86AE
#define VALUE_PARAMEQ1_ST0_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.99629760176912)
#define TYPE_PARAMEQ1_ST0_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_A1 10
+#define ADDR_PARAMEQ1_ST0_A1 16
#define FIXPT_PARAMEQ1_ST0_A1 0xFF807919
#define VALUE_PARAMEQ1_ST0_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.996304442992686)
#define TYPE_PARAMEQ1_ST0_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST0_A1 10
+#define ADDR_PARAMEQ1_ST0_A1 16
#define FIXPT_PARAMEQ1_ST0_A1 0xFF807919
#define VALUE_PARAMEQ1_ST0_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.996304442992686)
#define TYPE_PARAMEQ1_ST0_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_B0 11
+#define ADDR_PARAMEQ1_ST1_B0 17
#define FIXPT_PARAMEQ1_ST1_B0 0x00800000
#define VALUE_PARAMEQ1_ST1_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST1_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_B0 11
+#define ADDR_PARAMEQ1_ST1_B0 17
#define FIXPT_PARAMEQ1_ST1_B0 0x00800000
#define VALUE_PARAMEQ1_ST1_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST1_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_B1 12
+#define ADDR_PARAMEQ1_ST1_B1 18
#define FIXPT_PARAMEQ1_ST1_B1 0x00000000
#define VALUE_PARAMEQ1_ST1_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST1_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_B1 12
+#define ADDR_PARAMEQ1_ST1_B1 18
#define FIXPT_PARAMEQ1_ST1_B1 0x00000000
#define VALUE_PARAMEQ1_ST1_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST1_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_B2 13
+#define ADDR_PARAMEQ1_ST1_B2 19
#define FIXPT_PARAMEQ1_ST1_B2 0x00000000
#define VALUE_PARAMEQ1_ST1_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST1_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_B2 13
+#define ADDR_PARAMEQ1_ST1_B2 19
#define FIXPT_PARAMEQ1_ST1_B2 0x00000000
#define VALUE_PARAMEQ1_ST1_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST1_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_A0 14
+#define ADDR_PARAMEQ1_ST1_A0 20
#define FIXPT_PARAMEQ1_ST1_A0 0x00000000
#define VALUE_PARAMEQ1_ST1_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST1_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_A0 14
+#define ADDR_PARAMEQ1_ST1_A0 20
#define FIXPT_PARAMEQ1_ST1_A0 0x00000000
#define VALUE_PARAMEQ1_ST1_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST1_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_A1 15
+#define ADDR_PARAMEQ1_ST1_A1 21
#define FIXPT_PARAMEQ1_ST1_A1 0x00000000
#define VALUE_PARAMEQ1_ST1_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST1_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST1_A1 15
+#define ADDR_PARAMEQ1_ST1_A1 21
#define FIXPT_PARAMEQ1_ST1_A1 0x00000000
#define VALUE_PARAMEQ1_ST1_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST1_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_B0 16
+#define ADDR_PARAMEQ1_ST2_B0 22
#define FIXPT_PARAMEQ1_ST2_B0 0x00800000
#define VALUE_PARAMEQ1_ST2_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST2_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_B0 16
+#define ADDR_PARAMEQ1_ST2_B0 22
#define FIXPT_PARAMEQ1_ST2_B0 0x00800000
#define VALUE_PARAMEQ1_ST2_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST2_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_B1 17
+#define ADDR_PARAMEQ1_ST2_B1 23
#define FIXPT_PARAMEQ1_ST2_B1 0x00000000
#define VALUE_PARAMEQ1_ST2_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST2_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_B1 17
+#define ADDR_PARAMEQ1_ST2_B1 23
#define FIXPT_PARAMEQ1_ST2_B1 0x00000000
#define VALUE_PARAMEQ1_ST2_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST2_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_B2 18
+#define ADDR_PARAMEQ1_ST2_B2 24
#define FIXPT_PARAMEQ1_ST2_B2 0x00000000
#define VALUE_PARAMEQ1_ST2_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST2_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_B2 18
+#define ADDR_PARAMEQ1_ST2_B2 24
#define FIXPT_PARAMEQ1_ST2_B2 0x00000000
#define VALUE_PARAMEQ1_ST2_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST2_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_A0 19
+#define ADDR_PARAMEQ1_ST2_A0 25
#define FIXPT_PARAMEQ1_ST2_A0 0x00000000
#define VALUE_PARAMEQ1_ST2_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST2_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_A0 19
+#define ADDR_PARAMEQ1_ST2_A0 25
#define FIXPT_PARAMEQ1_ST2_A0 0x00000000
#define VALUE_PARAMEQ1_ST2_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST2_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_A1 20
+#define ADDR_PARAMEQ1_ST2_A1 26
#define FIXPT_PARAMEQ1_ST2_A1 0x00000000
#define VALUE_PARAMEQ1_ST2_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST2_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST2_A1 20
+#define ADDR_PARAMEQ1_ST2_A1 26
#define FIXPT_PARAMEQ1_ST2_A1 0x00000000
#define VALUE_PARAMEQ1_ST2_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST2_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_B0 21
+#define ADDR_PARAMEQ1_ST3_B0 27
#define FIXPT_PARAMEQ1_ST3_B0 0x00800000
#define VALUE_PARAMEQ1_ST3_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST3_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_B0 21
+#define ADDR_PARAMEQ1_ST3_B0 27
#define FIXPT_PARAMEQ1_ST3_B0 0x00800000
#define VALUE_PARAMEQ1_ST3_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST3_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_B1 22
+#define ADDR_PARAMEQ1_ST3_B1 28
#define FIXPT_PARAMEQ1_ST3_B1 0x00000000
#define VALUE_PARAMEQ1_ST3_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST3_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_B1 22
+#define ADDR_PARAMEQ1_ST3_B1 28
#define FIXPT_PARAMEQ1_ST3_B1 0x00000000
#define VALUE_PARAMEQ1_ST3_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST3_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_B2 23
+#define ADDR_PARAMEQ1_ST3_B2 29
#define FIXPT_PARAMEQ1_ST3_B2 0x00000000
#define VALUE_PARAMEQ1_ST3_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST3_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_B2 23
+#define ADDR_PARAMEQ1_ST3_B2 29
#define FIXPT_PARAMEQ1_ST3_B2 0x00000000
#define VALUE_PARAMEQ1_ST3_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST3_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_A0 24
+#define ADDR_PARAMEQ1_ST3_A0 30
#define FIXPT_PARAMEQ1_ST3_A0 0x00000000
#define VALUE_PARAMEQ1_ST3_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST3_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_A0 24
+#define ADDR_PARAMEQ1_ST3_A0 30
#define FIXPT_PARAMEQ1_ST3_A0 0x00000000
#define VALUE_PARAMEQ1_ST3_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST3_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_A1 25
+#define ADDR_PARAMEQ1_ST3_A1 31
#define FIXPT_PARAMEQ1_ST3_A1 0x00000000
#define VALUE_PARAMEQ1_ST3_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST3_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST3_A1 25
+#define ADDR_PARAMEQ1_ST3_A1 31
#define FIXPT_PARAMEQ1_ST3_A1 0x00000000
#define VALUE_PARAMEQ1_ST3_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST3_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_B0 26
+#define ADDR_PARAMEQ1_ST4_B0 32
#define FIXPT_PARAMEQ1_ST4_B0 0x00800000
#define VALUE_PARAMEQ1_ST4_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST4_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_B0 26
+#define ADDR_PARAMEQ1_ST4_B0 32
#define FIXPT_PARAMEQ1_ST4_B0 0x00800000
#define VALUE_PARAMEQ1_ST4_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST4_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_B1 27
+#define ADDR_PARAMEQ1_ST4_B1 33
#define FIXPT_PARAMEQ1_ST4_B1 0x00000000
#define VALUE_PARAMEQ1_ST4_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST4_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_B1 27
+#define ADDR_PARAMEQ1_ST4_B1 33
#define FIXPT_PARAMEQ1_ST4_B1 0x00000000
#define VALUE_PARAMEQ1_ST4_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST4_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_B2 28
+#define ADDR_PARAMEQ1_ST4_B2 34
#define FIXPT_PARAMEQ1_ST4_B2 0x00000000
#define VALUE_PARAMEQ1_ST4_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST4_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_B2 28
+#define ADDR_PARAMEQ1_ST4_B2 34
#define FIXPT_PARAMEQ1_ST4_B2 0x00000000
#define VALUE_PARAMEQ1_ST4_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST4_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_A0 29
+#define ADDR_PARAMEQ1_ST4_A0 35
#define FIXPT_PARAMEQ1_ST4_A0 0x00000000
#define VALUE_PARAMEQ1_ST4_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST4_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_A0 29
+#define ADDR_PARAMEQ1_ST4_A0 35
#define FIXPT_PARAMEQ1_ST4_A0 0x00000000
#define VALUE_PARAMEQ1_ST4_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST4_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_A1 30
+#define ADDR_PARAMEQ1_ST4_A1 36
#define FIXPT_PARAMEQ1_ST4_A1 0x00000000
#define VALUE_PARAMEQ1_ST4_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST4_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST4_A1 30
+#define ADDR_PARAMEQ1_ST4_A1 36
#define FIXPT_PARAMEQ1_ST4_A1 0x00000000
#define VALUE_PARAMEQ1_ST4_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST4_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_B0 31
+#define ADDR_PARAMEQ1_ST5_B0 37
#define FIXPT_PARAMEQ1_ST5_B0 0x00800000
#define VALUE_PARAMEQ1_ST5_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST5_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_B0 31
+#define ADDR_PARAMEQ1_ST5_B0 37
#define FIXPT_PARAMEQ1_ST5_B0 0x00800000
#define VALUE_PARAMEQ1_ST5_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_PARAMEQ1_ST5_B0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_B1 32
+#define ADDR_PARAMEQ1_ST5_B1 38
#define FIXPT_PARAMEQ1_ST5_B1 0x00000000
#define VALUE_PARAMEQ1_ST5_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST5_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_B1 32
+#define ADDR_PARAMEQ1_ST5_B1 38
#define FIXPT_PARAMEQ1_ST5_B1 0x00000000
#define VALUE_PARAMEQ1_ST5_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST5_B1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_B2 33
+#define ADDR_PARAMEQ1_ST5_B2 39
#define FIXPT_PARAMEQ1_ST5_B2 0x00000000
#define VALUE_PARAMEQ1_ST5_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST5_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_B2 33
+#define ADDR_PARAMEQ1_ST5_B2 39
#define FIXPT_PARAMEQ1_ST5_B2 0x00000000
#define VALUE_PARAMEQ1_ST5_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST5_B2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_A0 34
+#define ADDR_PARAMEQ1_ST5_A0 40
#define FIXPT_PARAMEQ1_ST5_A0 0x00000000
#define VALUE_PARAMEQ1_ST5_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST5_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_A0 34
+#define ADDR_PARAMEQ1_ST5_A0 40
#define FIXPT_PARAMEQ1_ST5_A0 0x00000000
#define VALUE_PARAMEQ1_ST5_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST5_A0 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_A1 35
+#define ADDR_PARAMEQ1_ST5_A1 41
#define FIXPT_PARAMEQ1_ST5_A1 0x00000000
#define VALUE_PARAMEQ1_ST5_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST5_A1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_PARAMEQ1_ST5_A1 35
+#define ADDR_PARAMEQ1_ST5_A1 41
#define FIXPT_PARAMEQ1_ST5_A1 0x00000000
#define VALUE_PARAMEQ1_ST5_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define TYPE_PARAMEQ1_ST5_A1 SIGMASTUDIOTYPE_FIXPOINT
@@ -303,11 +339,11 @@
/* Module Multiple 1 - Multiple Volume Control*/
#define COUNT_MULTIPLE1 2
#define DEVICE_MULTIPLE1 "IC1"
-#define ADDR_MULTIPLE1 36
+#define ADDR_MULTIPLE1 42
#define FIXPT_MULTIPLE1 0x00800000
#define VALUE_MULTIPLE1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_MULTIPLE1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_MULTIPLE1_1 37
+#define ADDR_MULTIPLE1_1 43
#define FIXPT_MULTIPLE1_1 0x00800000
#define VALUE_MULTIPLE1_1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_MULTIPLE1_1 SIGMASTUDIOTYPE_FIXPOINT
@@ -315,63 +351,63 @@
/* Module Limiter 1 - Limiter*/
#define COUNT_LIMITER1 15
#define DEVICE_LIMITER1 "IC1"
-#define ADDR_LIMITER1_S1 38
+#define ADDR_LIMITER1_S1 44
#define FIXPT_LIMITER1_S1 0xFFFE2BE3
#define VALUE_LIMITER1_S1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.01428571428571)
#define TYPE_LIMITER1_S1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_INT1 39
+#define ADDR_LIMITER1_INT1 45
#define FIXPT_LIMITER1_INT1 0x0022BE2B
#define VALUE_LIMITER1_INT1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.27142857142857)
#define TYPE_LIMITER1_INT1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_S2 40
+#define ADDR_LIMITER1_S2 46
#define FIXPT_LIMITER1_S2 0xFFEAAAAB
#define VALUE_LIMITER1_S2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.16666666666667)
#define TYPE_LIMITER1_S2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_INT2 41
+#define ADDR_LIMITER1_INT2 47
#define FIXPT_LIMITER1_INT2 0x006AAAAA
#define VALUE_LIMITER1_INT2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.8333333333333)
#define TYPE_LIMITER1_INT2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_S3 42
+#define ADDR_LIMITER1_S3 48
#define FIXPT_LIMITER1_S3 0xFF9A69A7
#define VALUE_LIMITER1_S3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.79365079365079)
#define TYPE_LIMITER1_S3 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_INT3 43
+#define ADDR_LIMITER1_INT3 49
#define FIXPT_LIMITER1_INT3 0x00FDF7DF
#define VALUE_LIMITER1_INT3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.98412698412698)
#define TYPE_LIMITER1_INT3 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_S4 44
+#define ADDR_LIMITER1_S4 50
#define FIXPT_LIMITER1_S4 0xF83C6C20
#define VALUE_LIMITER1_S4 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-15.527950310559)
#define TYPE_LIMITER1_S4 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_INT4 45
+#define ADDR_LIMITER1_INT4 51
#define FIXPT_LIMITER1_INT4 0x03F5AA22
#define VALUE_LIMITER1_INT4 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(7.91925465838509)
#define TYPE_LIMITER1_INT4 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_C1 46
+#define ADDR_LIMITER1_C1 52
#define FIXPT_LIMITER1_C1 0x01800000
#define VALUE_LIMITER1_C1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(3)
#define TYPE_LIMITER1_C1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_C2 47
+#define ADDR_LIMITER1_C2 53
#define FIXPT_LIMITER1_C2 0x01000000
#define VALUE_LIMITER1_C2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(2)
#define TYPE_LIMITER1_C2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_C3 48
+#define ADDR_LIMITER1_C3 54
#define FIXPT_LIMITER1_C3 0x00333333
#define VALUE_LIMITER1_C3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.4)
#define TYPE_LIMITER1_C3 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_THRESHOLD 49
+#define ADDR_LIMITER1_THRESHOLD 55
#define FIXPT_LIMITER1_THRESHOLD 0x00800000
#define VALUE_LIMITER1_THRESHOLD SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_LIMITER1_THRESHOLD SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_RMS 50
+#define ADDR_LIMITER1_RMS 56
#define FIXPT_LIMITER1_RMS 0x000007DC
#define VALUE_LIMITER1_RMS SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.000239881380791562)
#define TYPE_LIMITER1_RMS SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_DECAY 51
+#define ADDR_LIMITER1_DECAY 57
#define FIXPT_LIMITER1_DECAY 0x00000800
#define VALUE_LIMITER1_DECAY SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.000244140625)
#define TYPE_LIMITER1_DECAY SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER1_DECAYCOMPLEMENT 52
+#define ADDR_LIMITER1_DECAYCOMPLEMENT 58
#define FIXPT_LIMITER1_DECAYCOMPLEMENT 0x007FF000
#define VALUE_LIMITER1_DECAYCOMPLEMENT SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.99951171875)
#define TYPE_LIMITER1_DECAYCOMPLEMENT SIGMASTUDIOTYPE_FIXPOINT
@@ -379,63 +415,63 @@
/* Module Limiter 2 - Limiter*/
#define COUNT_LIMITER2 15
#define DEVICE_LIMITER2 "IC1"
-#define ADDR_LIMITER2_S1 53
+#define ADDR_LIMITER2_S1 59
#define FIXPT_LIMITER2_S1 0xFFFE2BE3
#define VALUE_LIMITER2_S1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.01428571428571)
#define TYPE_LIMITER2_S1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_INT1 54
+#define ADDR_LIMITER2_INT1 60
#define FIXPT_LIMITER2_INT1 0x0022BE2B
#define VALUE_LIMITER2_INT1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.27142857142857)
#define TYPE_LIMITER2_INT1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_S2 55
+#define ADDR_LIMITER2_S2 61
#define FIXPT_LIMITER2_S2 0xFFEAAAAB
#define VALUE_LIMITER2_S2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.16666666666667)
#define TYPE_LIMITER2_S2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_INT2 56
+#define ADDR_LIMITER2_INT2 62
#define FIXPT_LIMITER2_INT2 0x006AAAAA
#define VALUE_LIMITER2_INT2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.8333333333333)
#define TYPE_LIMITER2_INT2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_S3 57
+#define ADDR_LIMITER2_S3 63
#define FIXPT_LIMITER2_S3 0xFF9A69A7
#define VALUE_LIMITER2_S3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.79365079365079)
#define TYPE_LIMITER2_S3 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_INT3 58
+#define ADDR_LIMITER2_INT3 64
#define FIXPT_LIMITER2_INT3 0x00FDF7DF
#define VALUE_LIMITER2_INT3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.98412698412698)
#define TYPE_LIMITER2_INT3 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_S4 59
+#define ADDR_LIMITER2_S4 65
#define FIXPT_LIMITER2_S4 0xF83C6C20
#define VALUE_LIMITER2_S4 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-15.527950310559)
#define TYPE_LIMITER2_S4 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_INT4 60
+#define ADDR_LIMITER2_INT4 66
#define FIXPT_LIMITER2_INT4 0x03F5AA22
#define VALUE_LIMITER2_INT4 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(7.91925465838509)
#define TYPE_LIMITER2_INT4 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_C1 61
+#define ADDR_LIMITER2_C1 67
#define FIXPT_LIMITER2_C1 0x01800000
#define VALUE_LIMITER2_C1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(3)
#define TYPE_LIMITER2_C1 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_C2 62
+#define ADDR_LIMITER2_C2 68
#define FIXPT_LIMITER2_C2 0x01000000
#define VALUE_LIMITER2_C2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(2)
#define TYPE_LIMITER2_C2 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_C3 63
+#define ADDR_LIMITER2_C3 69
#define FIXPT_LIMITER2_C3 0x00333333
#define VALUE_LIMITER2_C3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.4)
#define TYPE_LIMITER2_C3 SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_THRESHOLD 64
+#define ADDR_LIMITER2_THRESHOLD 70
#define FIXPT_LIMITER2_THRESHOLD 0x00800000
#define VALUE_LIMITER2_THRESHOLD SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define TYPE_LIMITER2_THRESHOLD SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_RMS 65
+#define ADDR_LIMITER2_RMS 71
#define FIXPT_LIMITER2_RMS 0x000007DC
#define VALUE_LIMITER2_RMS SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.000239881380791562)
#define TYPE_LIMITER2_RMS SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_DECAY 66
+#define ADDR_LIMITER2_DECAY 72
#define FIXPT_LIMITER2_DECAY 0x00000800
#define VALUE_LIMITER2_DECAY SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.000244140625)
#define TYPE_LIMITER2_DECAY SIGMASTUDIOTYPE_FIXPOINT
-#define ADDR_LIMITER2_DECAYCOMPLEMENT 67
+#define ADDR_LIMITER2_DECAYCOMPLEMENT 73
#define FIXPT_LIMITER2_DECAYCOMPLEMENT 0x007FF000
#define VALUE_LIMITER2_DECAYCOMPLEMENT SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.99951171875)
#define TYPE_LIMITER2_DECAYCOMPLEMENT SIGMASTUDIOTYPE_FIXPOINT
diff --git a/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1_REG.h b/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1_REG.h
index 0d0016b..fed84c3 100644
--- a/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1_REG.h
+++ b/Software/Firmware/ADAU1701-Firmware/DigiRadio_IC_1_REG.h
@@ -1,7 +1,7 @@
/*
- * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadio\DigiRadio_IC_1_REG.h
+ * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadio\DigiRadioModificato\DigiRadio_IC_1_REG.h
*
- * Created: Monday, July 6, 2026 2:41:28 PM
+ * Created: Friday, August 7, 2026 3:19:11 AM
* Description: DigiRadio:IC 1 control register definitions.
*
* This software is distributed in the hope that it will be useful,
@@ -93,7 +93,7 @@
/* RAMRegister - Registers (IC 1) */
#define REG_RAMREGISTER_IC_1_ADDR 0x81D
#define REG_RAMREGISTER_IC_1_BYTE 1
-#define REG_RAMREGISTER_IC_1_VALUE 0x8
+#define REG_RAMREGISTER_IC_1_VALUE 0xB
/* SerialOutRegister1 - Registers (IC 1) */
#define REG_SERIALOUTREGISTER1_IC_1_ADDR 0x81E
@@ -286,7 +286,7 @@
#define R13_EXTMEM_SPEED_IC_1_SHIFT 12
/* RAMRegister (IC 1) */
-#define R14_RAM_MODULO_IC_1 0x8 /* 1000b [3:0] */
+#define R14_RAM_MODULO_IC_1 0xB /* 1011b [3:0] */
#define R14_RAM_MODULO_IC_1_MASK 0xF
#define R14_RAM_MODULO_IC_1_SHIFT 0
diff --git a/Software/Firmware/ADAU1701-Firmware/DigiRadio_NetList.xml b/Software/Firmware/ADAU1701-Firmware/DigiRadio_NetList.xml
index 715ce51..c850e4e 100644
--- a/Software/Firmware/ADAU1701-Firmware/DigiRadio_NetList.xml
+++ b/Software/Firmware/ADAU1701-Firmware/DigiRadio_NetList.xml
@@ -23,6 +23,9 @@
+
+
+
@@ -39,41 +42,52 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
diff --git a/Software/Firmware/ADAU1701-Firmware/SigmaStudioFW.h b/Software/Firmware/ADAU1701-Firmware/SigmaStudioFW.h
index 1719e94..b961913 100644
--- a/Software/Firmware/ADAU1701-Firmware/SigmaStudioFW.h
+++ b/Software/Firmware/ADAU1701-Firmware/SigmaStudioFW.h
@@ -31,6 +31,21 @@ void sigma_studio_bind_i2c(int port, unsigned char addr7);
/** @brief Attach the I2C device handle created by Adau1701Driver. */
void sigma_studio_set_device(void* i2cDevHandle);
+/**
+ * @brief Acquire the process-wide ADAU1701 I2C lock.
+ *
+ * Guards a logical multi-transaction operation (e.g. a safeload burst)
+ * against interleaving from another FreeRTOS task — individual
+ * i2c_master_transmit calls are already serialised by the ESP-IDF I2C
+ * driver, but a sequence of several transactions is not atomic without
+ * this. Callers: Adau1701Driver safeload paths and the SigmaStudio TCP
+ * bridge (components/net/SigmaStudioTcpServer).
+ */
+void sigma_studio_lock(void);
+
+/** @brief Release the lock acquired by sigma_studio_lock(). */
+void sigma_studio_unlock(void);
+
/**
* @brief Write a contiguous register/data block to the ADAU1701.
*
@@ -44,6 +59,16 @@ void SIGMA_WRITE_REGISTER_BLOCK(unsigned char devAddress,
unsigned int length,
ADI_REG_TYPE* pData);
+/**
+ * @brief Read a contiguous register/data block from the ADAU1701.
+ *
+ * @param reg 16-bit source address in DSP memory map.
+ * @param data Destination buffer.
+ * @param length Number of bytes to read.
+ * @return 0 on success, non-zero on I2C failure.
+ */
+int sigma_i2c_read(unsigned int reg, unsigned char* data, unsigned int length);
+
/** Safeload data register base (0x0810..0x0814). */
#define ADAU1701_SAFELOAD_DATA_BASE 0x0810U
/** Safeload address register base (0x0815..0x0819). */
@@ -73,6 +98,22 @@ int sigma_safeload_param(unsigned int paramAddr, int fixpoint);
int sigma_safeload_block(unsigned char count, const unsigned int* paramAddrs,
const int* fixpoints);
+/**
+ * @brief Safeload up to five parameters from raw wire bytes (pass-through).
+ *
+ * Used by the SigmaStudio TCP bridge: unlike sigma_safeload_block(), which
+ * reconstructs the 4-byte payload from a host int, this forwards each
+ * 4-byte word exactly as received over the network — no endianness
+ * reinterpretation.
+ *
+ * @param count Number of words (1..5).
+ * @param paramAddrs Parameter RAM addresses.
+ * @param rawWords count*4 raw bytes, one 4-byte word per address.
+ * @return 0 on success, non-zero on I2C failure.
+ */
+int sigma_safeload_raw_block(unsigned char count, const unsigned int* paramAddrs,
+ const unsigned char* rawWords);
+
#ifdef __cplusplus
}
#endif
diff --git a/Software/Firmware/ADAU1701-Firmware/TxBuffer_IC_1.dat b/Software/Firmware/ADAU1701-Firmware/TxBuffer_IC_1.dat
index 9b0190d..1355be3 100644
--- a/Software/Firmware/ADAU1701-Firmware/TxBuffer_IC_1.dat
+++ b/Software/Firmware/ADAU1701-Firmware/TxBuffer_IC_1.dat
@@ -13,310 +13,332 @@
0x00, 0x20, 0x00, 0xE8, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x28, 0x00, 0xE8, 0x01,
-0x00, 0x12, 0x00, 0x20, 0x01,
-0x00, 0x30, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x1A, 0x01, 0x20, 0x01,
+0x00, 0x02, 0x01, 0xA0, 0x01,
+0xFF, 0xE1, 0x07, 0x20, 0x01,
0x00, 0x38, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x22, 0x02, 0x20, 0x01,
-0x00, 0x40, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x2A, 0x03, 0x20, 0x01,
+0x00, 0x42, 0x02, 0x20, 0x01,
+0x00, 0x52, 0x00, 0x22, 0x01,
+0x00, 0x58, 0x00, 0xE2, 0x01,
+0x00, 0x42, 0x00, 0x20, 0x01,
+0x00, 0x59, 0x08, 0x22, 0x41,
+0x00, 0x39, 0x08, 0x22, 0x01,
+0x00, 0x31, 0x08, 0x22, 0x41,
0x00, 0x48, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x32, 0x04, 0x20, 0x01,
-0x00, 0x3A, 0x04, 0x40, 0x01,
-0x00, 0x42, 0x05, 0x22, 0x01,
-0x00, 0x4A, 0x05, 0x44, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x12, 0x03, 0x20, 0x01,
0x00, 0x60, 0x00, 0xE2, 0x01,
-0x01, 0x98, 0x00, 0xE4, 0x01,
-0x00, 0x8A, 0x09, 0x20, 0x01,
-0x00, 0x82, 0x0A, 0x22, 0x01,
-0x00, 0x72, 0x09, 0x34, 0x01,
-0x00, 0x6A, 0x0A, 0x22, 0x01,
-0x00, 0x62, 0x06, 0x22, 0x01,
-0x00, 0x5A, 0x07, 0x22, 0x01,
-0x00, 0x52, 0x08, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x1A, 0x04, 0x20, 0x01,
+0x00, 0x68, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x22, 0x05, 0x20, 0x01,
+0x00, 0x70, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x2A, 0x06, 0x20, 0x01,
0x00, 0x78, 0x00, 0xE2, 0x01,
-0x00, 0x90, 0x00, 0xF2, 0x01,
-0x00, 0xBA, 0x0E, 0x20, 0x01,
-0x00, 0xB2, 0x0F, 0x22, 0x01,
-0x00, 0xA2, 0x0E, 0x34, 0x01,
-0x00, 0x9A, 0x0F, 0x22, 0x01,
-0x00, 0x7A, 0x0B, 0x22, 0x01,
-0x00, 0x72, 0x0C, 0x22, 0x01,
-0x00, 0x6A, 0x0D, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x5A, 0x07, 0x20, 0x01,
+0x00, 0x80, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x82, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x88, 0x00, 0xE2, 0x01,
+0x00, 0x82, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x90, 0x00, 0xE2, 0x01,
+0x00, 0x62, 0x09, 0x20, 0x01,
+0x00, 0x6A, 0x09, 0x40, 0x01,
+0x00, 0x72, 0x0A, 0x22, 0x01,
+0x00, 0x7A, 0x0A, 0x44, 0x01,
+0x00, 0x8A, 0x0B, 0x22, 0x01,
+0x00, 0x92, 0x0B, 0x44, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0xA8, 0x00, 0xE2, 0x01,
-0x00, 0xC0, 0x00, 0xF2, 0x01,
-0x00, 0xEA, 0x13, 0x20, 0x01,
-0x00, 0xE2, 0x14, 0x22, 0x01,
-0x00, 0xD2, 0x13, 0x34, 0x01,
-0x00, 0xCA, 0x14, 0x22, 0x01,
-0x00, 0xAA, 0x10, 0x22, 0x01,
-0x00, 0xA2, 0x11, 0x22, 0x01,
-0x00, 0x9A, 0x12, 0x22, 0x01,
+0x01, 0xE0, 0x00, 0xE4, 0x01,
+0x00, 0xD2, 0x0F, 0x20, 0x01,
+0x00, 0xCA, 0x10, 0x22, 0x01,
+0x00, 0xBA, 0x0F, 0x34, 0x01,
+0x00, 0xB2, 0x10, 0x22, 0x01,
+0x00, 0xAA, 0x0C, 0x22, 0x01,
+0x00, 0xA2, 0x0D, 0x22, 0x01,
+0x00, 0x9A, 0x0E, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0xD8, 0x00, 0xE2, 0x01,
-0x00, 0xF0, 0x00, 0xF2, 0x01,
-0x01, 0x1A, 0x18, 0x20, 0x01,
-0x01, 0x12, 0x19, 0x22, 0x01,
-0x01, 0x02, 0x18, 0x34, 0x01,
-0x00, 0xFA, 0x19, 0x22, 0x01,
-0x00, 0xDA, 0x15, 0x22, 0x01,
-0x00, 0xD2, 0x16, 0x22, 0x01,
-0x00, 0xCA, 0x17, 0x22, 0x01,
+0x00, 0xC0, 0x00, 0xE2, 0x01,
+0x00, 0xD8, 0x00, 0xF2, 0x01,
+0x01, 0x02, 0x14, 0x20, 0x01,
+0x00, 0xFA, 0x15, 0x22, 0x01,
+0x00, 0xEA, 0x14, 0x34, 0x01,
+0x00, 0xE2, 0x15, 0x22, 0x01,
+0x00, 0xC2, 0x11, 0x22, 0x01,
+0x00, 0xBA, 0x12, 0x22, 0x01,
+0x00, 0xB2, 0x13, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x01, 0x08, 0x00, 0xE2, 0x01,
-0x01, 0x20, 0x00, 0xF2, 0x01,
-0x01, 0x4A, 0x1D, 0x20, 0x01,
-0x01, 0x42, 0x1E, 0x22, 0x01,
-0x01, 0x32, 0x1D, 0x34, 0x01,
-0x01, 0x2A, 0x1E, 0x22, 0x01,
-0x01, 0x0A, 0x1A, 0x22, 0x01,
-0x01, 0x02, 0x1B, 0x22, 0x01,
-0x00, 0xFA, 0x1C, 0x22, 0x01,
+0x00, 0xF0, 0x00, 0xE2, 0x01,
+0x01, 0x08, 0x00, 0xF2, 0x01,
+0x01, 0x32, 0x19, 0x20, 0x01,
+0x01, 0x2A, 0x1A, 0x22, 0x01,
+0x01, 0x1A, 0x19, 0x34, 0x01,
+0x01, 0x12, 0x1A, 0x22, 0x01,
+0x00, 0xF2, 0x16, 0x22, 0x01,
+0x00, 0xEA, 0x17, 0x22, 0x01,
+0x00, 0xE2, 0x18, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x01, 0x38, 0x00, 0xE2, 0x01,
-0x01, 0x50, 0x00, 0xF2, 0x01,
-0x01, 0x7A, 0x22, 0x20, 0x01,
-0x01, 0x72, 0x23, 0x22, 0x01,
-0x01, 0x62, 0x22, 0x34, 0x01,
-0x01, 0x5A, 0x23, 0x22, 0x01,
-0x01, 0x3A, 0x1F, 0x22, 0x01,
-0x01, 0x32, 0x20, 0x22, 0x01,
-0x01, 0x2A, 0x21, 0x22, 0x01,
+0x01, 0x20, 0x00, 0xE2, 0x01,
+0x01, 0x38, 0x00, 0xF2, 0x01,
+0x01, 0x62, 0x1E, 0x20, 0x01,
+0x01, 0x5A, 0x1F, 0x22, 0x01,
+0x01, 0x4A, 0x1E, 0x34, 0x01,
+0x01, 0x42, 0x1F, 0x22, 0x01,
+0x01, 0x22, 0x1B, 0x22, 0x01,
+0x01, 0x1A, 0x1C, 0x22, 0x01,
+0x01, 0x12, 0x1D, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x01, 0x68, 0x00, 0xE2, 0x01,
-0x01, 0x80, 0x00, 0xF2, 0x01,
-0x01, 0xC2, 0x09, 0x20, 0x01,
-0x01, 0xBA, 0x0A, 0x22, 0x01,
-0x01, 0xAA, 0x09, 0x34, 0x01,
-0x01, 0xA2, 0x0A, 0x22, 0x01,
-0x01, 0x9A, 0x06, 0x22, 0x01,
-0x01, 0x92, 0x07, 0x22, 0x01,
-0x01, 0x8A, 0x08, 0x22, 0x01,
+0x01, 0x50, 0x00, 0xE2, 0x01,
+0x01, 0x68, 0x00, 0xF2, 0x01,
+0x01, 0x92, 0x23, 0x20, 0x01,
+0x01, 0x8A, 0x24, 0x22, 0x01,
+0x01, 0x7A, 0x23, 0x34, 0x01,
+0x01, 0x72, 0x24, 0x22, 0x01,
+0x01, 0x52, 0x20, 0x22, 0x01,
+0x01, 0x4A, 0x21, 0x22, 0x01,
+0x01, 0x42, 0x22, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x80, 0x00, 0xE2, 0x01,
+0x01, 0x98, 0x00, 0xF2, 0x01,
+0x01, 0xC2, 0x28, 0x20, 0x01,
+0x01, 0xBA, 0x29, 0x22, 0x01,
+0x01, 0xAA, 0x28, 0x34, 0x01,
+0x01, 0xA2, 0x29, 0x22, 0x01,
+0x01, 0x82, 0x25, 0x22, 0x01,
+0x01, 0x7A, 0x26, 0x22, 0x01,
+0x01, 0x72, 0x27, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x01, 0xB0, 0x00, 0xE2, 0x01,
0x01, 0xC8, 0x00, 0xF2, 0x01,
-0x01, 0xF2, 0x0E, 0x20, 0x01,
-0x01, 0xEA, 0x0F, 0x22, 0x01,
-0x01, 0xDA, 0x0E, 0x34, 0x01,
-0x01, 0xD2, 0x0F, 0x22, 0x01,
-0x01, 0xB2, 0x0B, 0x22, 0x01,
-0x01, 0xAA, 0x0C, 0x22, 0x01,
-0x01, 0xA2, 0x0D, 0x22, 0x01,
+0x02, 0x0A, 0x0F, 0x20, 0x01,
+0x02, 0x02, 0x10, 0x22, 0x01,
+0x01, 0xF2, 0x0F, 0x34, 0x01,
+0x01, 0xEA, 0x10, 0x22, 0x01,
+0x01, 0xE2, 0x0C, 0x22, 0x01,
+0x01, 0xDA, 0x0D, 0x22, 0x01,
+0x01, 0xD2, 0x0E, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x01, 0xE0, 0x00, 0xE2, 0x01,
-0x01, 0xF8, 0x00, 0xF2, 0x01,
-0x02, 0x22, 0x13, 0x20, 0x01,
-0x02, 0x1A, 0x14, 0x22, 0x01,
-0x02, 0x0A, 0x13, 0x34, 0x01,
-0x02, 0x02, 0x14, 0x22, 0x01,
-0x01, 0xE2, 0x10, 0x22, 0x01,
-0x01, 0xDA, 0x11, 0x22, 0x01,
-0x01, 0xD2, 0x12, 0x22, 0x01,
+0x01, 0xF8, 0x00, 0xE2, 0x01,
+0x02, 0x10, 0x00, 0xF2, 0x01,
+0x02, 0x3A, 0x14, 0x20, 0x01,
+0x02, 0x32, 0x15, 0x22, 0x01,
+0x02, 0x22, 0x14, 0x34, 0x01,
+0x02, 0x1A, 0x15, 0x22, 0x01,
+0x01, 0xFA, 0x11, 0x22, 0x01,
+0x01, 0xF2, 0x12, 0x22, 0x01,
+0x01, 0xEA, 0x13, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0x10, 0x00, 0xE2, 0x01,
-0x02, 0x28, 0x00, 0xF2, 0x01,
-0x02, 0x52, 0x18, 0x20, 0x01,
-0x02, 0x4A, 0x19, 0x22, 0x01,
-0x02, 0x3A, 0x18, 0x34, 0x01,
-0x02, 0x32, 0x19, 0x22, 0x01,
-0x02, 0x12, 0x15, 0x22, 0x01,
-0x02, 0x0A, 0x16, 0x22, 0x01,
-0x02, 0x02, 0x17, 0x22, 0x01,
+0x02, 0x28, 0x00, 0xE2, 0x01,
+0x02, 0x40, 0x00, 0xF2, 0x01,
+0x02, 0x6A, 0x19, 0x20, 0x01,
+0x02, 0x62, 0x1A, 0x22, 0x01,
+0x02, 0x52, 0x19, 0x34, 0x01,
+0x02, 0x4A, 0x1A, 0x22, 0x01,
+0x02, 0x2A, 0x16, 0x22, 0x01,
+0x02, 0x22, 0x17, 0x22, 0x01,
+0x02, 0x1A, 0x18, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0x40, 0x00, 0xE2, 0x01,
-0x02, 0x58, 0x00, 0xF2, 0x01,
-0x02, 0x82, 0x1D, 0x20, 0x01,
-0x02, 0x7A, 0x1E, 0x22, 0x01,
-0x02, 0x6A, 0x1D, 0x34, 0x01,
-0x02, 0x62, 0x1E, 0x22, 0x01,
-0x02, 0x42, 0x1A, 0x22, 0x01,
-0x02, 0x3A, 0x1B, 0x22, 0x01,
-0x02, 0x32, 0x1C, 0x22, 0x01,
+0x02, 0x58, 0x00, 0xE2, 0x01,
+0x02, 0x70, 0x00, 0xF2, 0x01,
+0x02, 0x9A, 0x1E, 0x20, 0x01,
+0x02, 0x92, 0x1F, 0x22, 0x01,
+0x02, 0x82, 0x1E, 0x34, 0x01,
+0x02, 0x7A, 0x1F, 0x22, 0x01,
+0x02, 0x5A, 0x1B, 0x22, 0x01,
+0x02, 0x52, 0x1C, 0x22, 0x01,
+0x02, 0x4A, 0x1D, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0x70, 0x00, 0xE2, 0x01,
-0x02, 0x88, 0x00, 0xF2, 0x01,
-0x02, 0xB2, 0x22, 0x20, 0x01,
-0x02, 0xAA, 0x23, 0x22, 0x01,
-0x02, 0x9A, 0x22, 0x34, 0x01,
-0x02, 0x92, 0x23, 0x22, 0x01,
-0x02, 0x72, 0x1F, 0x22, 0x01,
-0x02, 0x6A, 0x20, 0x22, 0x01,
-0x02, 0x62, 0x21, 0x22, 0x01,
+0x02, 0x88, 0x00, 0xE2, 0x01,
+0x02, 0xA0, 0x00, 0xF2, 0x01,
+0x02, 0xCA, 0x23, 0x20, 0x01,
+0x02, 0xC2, 0x24, 0x22, 0x01,
+0x02, 0xB2, 0x23, 0x34, 0x01,
+0x02, 0xAA, 0x24, 0x22, 0x01,
+0x02, 0x8A, 0x20, 0x22, 0x01,
+0x02, 0x82, 0x21, 0x22, 0x01,
+0x02, 0x7A, 0x22, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xA0, 0x00, 0xE2, 0x01,
-0x02, 0xB8, 0x00, 0xF2, 0x01,
-0x01, 0x6A, 0x24, 0x20, 0x01,
-0x02, 0xC0, 0x00, 0xE2, 0x01,
+0x02, 0xB8, 0x00, 0xE2, 0x01,
+0x02, 0xD0, 0x00, 0xF2, 0x01,
+0x02, 0xFA, 0x28, 0x20, 0x01,
+0x02, 0xF2, 0x29, 0x22, 0x01,
+0x02, 0xE2, 0x28, 0x34, 0x01,
+0x02, 0xDA, 0x29, 0x22, 0x01,
+0x02, 0xBA, 0x25, 0x22, 0x01,
+0x02, 0xB2, 0x26, 0x22, 0x01,
+0x02, 0xAA, 0x27, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xA2, 0x25, 0x20, 0x01,
-0x02, 0xC8, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xC1, 0x08, 0x20, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x28, 0x00, 0xF0, 0x01,
-0xFF, 0xE9, 0x08, 0x22, 0x01,
-0x03, 0x20, 0x00, 0xF2, 0x01,
-0x03, 0x11, 0x08, 0x20, 0x01,
-0x03, 0x12, 0x32, 0x22, 0x41,
-0x03, 0x22, 0x32, 0x22, 0x01,
-0x03, 0x01, 0x08, 0x34, 0x01,
-0x03, 0x02, 0x32, 0x22, 0x41,
-0x03, 0x2A, 0x32, 0x22, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x08, 0x00, 0xE2, 0x01,
-0x03, 0x18, 0x00, 0xF2, 0x01,
-0x03, 0x30, 0x00, 0xE2, 0x01,
-0xFF, 0xF2, 0x2E, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x26, 0x20, 0x01,
-0xFF, 0xF2, 0x27, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x03, 0x32, 0x28, 0x20, 0x01,
-0xFF, 0xF2, 0x29, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0xFF, 0xF2, 0x2F, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x2A, 0x20, 0x01,
-0xFF, 0xF2, 0x2B, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0xFF, 0xF2, 0x30, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x2C, 0x20, 0x01,
-0xFF, 0xF2, 0x2D, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
-0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
-0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
-0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x00, 0x02, 0x31, 0xA0, 0x01,
-0xFF, 0xE7, 0xFF, 0x20, 0x01,
-0x02, 0xF8, 0x00, 0xE2, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xF9, 0x08, 0x40, 0x01,
-0xFF, 0xF1, 0x08, 0x20, 0x09,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xF8, 0x00, 0xE2, 0x23,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xF9, 0x08, 0x40, 0x01,
-0x02, 0xF1, 0x08, 0x20, 0x09,
-0x02, 0xFA, 0x33, 0x20, 0x01,
-0x02, 0xF2, 0x33, 0x22, 0x41,
-0x02, 0xF1, 0x08, 0x22, 0x01,
-0x02, 0xF8, 0x00, 0xE2, 0x23,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xF9, 0x08, 0x20, 0x01,
0x02, 0xE8, 0x00, 0xE2, 0x01,
-0xFF, 0xF2, 0x34, 0x22, 0x49,
-0xFF, 0xF1, 0x08, 0x20, 0x01,
-0xFF, 0xE9, 0x08, 0x20, 0x25,
-0x02, 0xE0, 0x00, 0xE2, 0x01,
-0x02, 0xF8, 0x00, 0xC0, 0x01,
-0x02, 0xC7, 0xFF, 0x20, 0x01,
-0x02, 0xD8, 0x00, 0xE2, 0x01,
-0x02, 0xC9, 0x08, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xF2, 0x01,
+0x01, 0xB2, 0x2A, 0x20, 0x01,
+0x03, 0x08, 0x00, 0xE2, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x28, 0x00, 0xF0, 0x01,
+0x02, 0xEA, 0x2B, 0x20, 0x01,
+0x03, 0x10, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x09, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x70, 0x00, 0xF0, 0x01,
0xFF, 0xE9, 0x08, 0x22, 0x01,
-0x03, 0x20, 0x00, 0xF2, 0x01,
-0x03, 0x71, 0x08, 0x20, 0x01,
-0x03, 0x72, 0x41, 0x22, 0x41,
-0x03, 0x22, 0x41, 0x22, 0x01,
-0x03, 0x61, 0x08, 0x34, 0x01,
-0x03, 0x62, 0x41, 0x22, 0x41,
-0x03, 0x2A, 0x41, 0x22, 0x01,
+0x03, 0x68, 0x00, 0xF2, 0x01,
+0x03, 0x59, 0x08, 0x20, 0x01,
+0x03, 0x5A, 0x38, 0x22, 0x41,
+0x03, 0x6A, 0x38, 0x22, 0x01,
+0x03, 0x49, 0x08, 0x34, 0x01,
+0x03, 0x4A, 0x38, 0x22, 0x41,
+0x03, 0x72, 0x38, 0x22, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x68, 0x00, 0xE2, 0x01,
-0x03, 0x78, 0x00, 0xF2, 0x01,
-0x03, 0x30, 0x00, 0xE2, 0x01,
-0xFF, 0xF2, 0x3D, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x35, 0x20, 0x01,
-0xFF, 0xF2, 0x36, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x03, 0x32, 0x37, 0x20, 0x01,
-0xFF, 0xF2, 0x38, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0xFF, 0xF2, 0x3E, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x39, 0x20, 0x01,
-0xFF, 0xF2, 0x3A, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
-0xFF, 0xF2, 0x3F, 0x40, 0x01,
-0x03, 0x31, 0x08, 0x20, 0x09,
-0x03, 0x32, 0x3B, 0x20, 0x01,
-0xFF, 0xF2, 0x3C, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x23,
+0x03, 0x50, 0x00, 0xE2, 0x01,
+0x03, 0x60, 0x00, 0xF2, 0x01,
+0x03, 0x78, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x34, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x2C, 0x20, 0x01,
+0xFF, 0xF2, 0x2D, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x7A, 0x2E, 0x20, 0x01,
+0xFF, 0xF2, 0x2F, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x35, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x30, 0x20, 0x01,
+0xFF, 0xF2, 0x31, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x36, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x32, 0x20, 0x01,
+0xFF, 0xF2, 0x33, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x03, 0x37, 0xFF, 0x20, 0x41,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
0xFF, 0xF1, 0x07, 0x22, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD7, 0xFF, 0x20, 0x01,
-0x02, 0xD0, 0x00, 0xE2, 0x01,
-0x02, 0xD0, 0x00, 0xC0, 0x01,
-0x00, 0x02, 0x40, 0xA0, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x00, 0x02, 0x37, 0xA0, 0x01,
0xFF, 0xE7, 0xFF, 0x20, 0x01,
-0x03, 0x58, 0x00, 0xE2, 0x01,
+0x03, 0x40, 0x00, 0xE2, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x59, 0x08, 0x40, 0x01,
+0x03, 0x41, 0x08, 0x40, 0x01,
0xFF, 0xF1, 0x08, 0x20, 0x09,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x58, 0x00, 0xE2, 0x23,
+0x03, 0x40, 0x00, 0xE2, 0x23,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x59, 0x08, 0x40, 0x01,
-0x03, 0x51, 0x08, 0x20, 0x09,
-0x03, 0x5A, 0x42, 0x20, 0x01,
-0x03, 0x52, 0x42, 0x22, 0x41,
-0x03, 0x51, 0x08, 0x22, 0x01,
-0x03, 0x58, 0x00, 0xE2, 0x23,
+0x03, 0x41, 0x08, 0x40, 0x01,
+0x03, 0x39, 0x08, 0x20, 0x09,
+0x03, 0x42, 0x39, 0x20, 0x01,
+0x03, 0x3A, 0x39, 0x22, 0x41,
+0x03, 0x39, 0x08, 0x22, 0x01,
+0x03, 0x40, 0x00, 0xE2, 0x23,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x03, 0x59, 0x08, 0x20, 0x01,
-0x03, 0x48, 0x00, 0xE2, 0x01,
-0xFF, 0xF2, 0x43, 0x22, 0x49,
+0x03, 0x41, 0x08, 0x20, 0x01,
+0x03, 0x30, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x3A, 0x22, 0x49,
0xFF, 0xF1, 0x08, 0x20, 0x01,
0xFF, 0xE9, 0x08, 0x20, 0x25,
-0x03, 0x40, 0x00, 0xE2, 0x01,
-0x03, 0x58, 0x00, 0xC0, 0x01,
-0x02, 0xCF, 0xFF, 0x20, 0x01,
-0x03, 0x38, 0x00, 0xE2, 0x01,
-0x03, 0x39, 0x08, 0x20, 0x01,
+0x03, 0x28, 0x00, 0xE2, 0x01,
+0x03, 0x40, 0x00, 0xC0, 0x01,
+0x03, 0x0F, 0xFF, 0x20, 0x01,
+0x03, 0x20, 0x00, 0xE2, 0x01,
+0x03, 0x11, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x70, 0x00, 0xF0, 0x01,
+0xFF, 0xE9, 0x08, 0x22, 0x01,
+0x03, 0x68, 0x00, 0xF2, 0x01,
+0x03, 0xB9, 0x08, 0x20, 0x01,
+0x03, 0xBA, 0x47, 0x22, 0x41,
+0x03, 0x6A, 0x47, 0x22, 0x01,
+0x03, 0xA9, 0x08, 0x34, 0x01,
+0x03, 0xAA, 0x47, 0x22, 0x41,
+0x03, 0x72, 0x47, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xB0, 0x00, 0xE2, 0x01,
+0x03, 0xC0, 0x00, 0xF2, 0x01,
+0x03, 0x78, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x43, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x3B, 0x20, 0x01,
+0xFF, 0xF2, 0x3C, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x7A, 0x3D, 0x20, 0x01,
+0xFF, 0xF2, 0x3E, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x44, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x3F, 0x20, 0x01,
+0xFF, 0xF2, 0x40, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x45, 0x40, 0x01,
+0x03, 0x79, 0x08, 0x20, 0x09,
+0x03, 0x7A, 0x41, 0x20, 0x01,
+0xFF, 0xF2, 0x42, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x03, 0x7F, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x1F, 0xFF, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0x03, 0x18, 0x00, 0xC0, 0x01,
+0x00, 0x02, 0x46, 0xA0, 0x01,
+0xFF, 0xE7, 0xFF, 0x20, 0x01,
+0x03, 0xA0, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xA1, 0x08, 0x40, 0x01,
+0xFF, 0xF1, 0x08, 0x20, 0x09,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xA0, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xA1, 0x08, 0x40, 0x01,
+0x03, 0x99, 0x08, 0x20, 0x09,
+0x03, 0xA2, 0x48, 0x20, 0x01,
+0x03, 0x9A, 0x48, 0x22, 0x41,
+0x03, 0x99, 0x08, 0x22, 0x01,
+0x03, 0xA0, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0xA1, 0x08, 0x20, 0x01,
+0x03, 0x90, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x49, 0x22, 0x49,
+0xFF, 0xF1, 0x08, 0x20, 0x01,
+0xFF, 0xE9, 0x08, 0x20, 0x25,
+0x03, 0x88, 0x00, 0xE2, 0x01,
+0x03, 0xA0, 0x00, 0xC0, 0x01,
+0x03, 0x17, 0xFF, 0x20, 0x01,
+0x03, 0x80, 0x00, 0xE2, 0x01,
+0x03, 0x81, 0x08, 0x20, 0x01,
0xFF, 0x30, 0x00, 0x02, 0x01,
-0x02, 0xD9, 0x08, 0x20, 0x01,
+0x03, 0x21, 0x08, 0x20, 0x01,
0xFF, 0x28, 0x00, 0x02, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
@@ -1003,29 +1025,13 @@
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, /* (2) Param */
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x6C, 0xAC,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00,
@@ -2044,14 +2050,8 @@
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00,
0x08, 0x1C, /* (3) IC 1.HWConFiguration */
-0x00, 0x18, 0x08, 0x08, 0x00,
+0x00, 0x18, 0x0B, 0x08, 0x00,
0x00, 0x44, 0x00, 0x44, 0x44,
0x00, 0x04, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00,
diff --git a/Software/Firmware/ADAU1701-Firmware/defines.h b/Software/Firmware/ADAU1701-Firmware/defines.h
index 006afb8..6719fa9 100644
--- a/Software/Firmware/ADAU1701-Firmware/defines.h
+++ b/Software/Firmware/ADAU1701-Firmware/defines.h
@@ -1,7 +1,7 @@
/*
* File: defines.h
*
- * Created: Monday, July 6, 2026 2:41:28 PM
+ * Created: Friday, August 7, 2026 3:19:11 AM
* Description: DigiRadio IC default download data definitions.
*
* This software is distributed in the hope that it will be useful,
diff --git a/Software/Sigmastudio/DigiRadio.dspproj b/Software/Sigmastudio/DigiRadio.dspproj
new file mode 100644
index 0000000..1033dbb
Binary files /dev/null and b/Software/Sigmastudio/DigiRadio.dspproj differ
diff --git a/Software/Sigmastudio/DigiRadio.zip b/Software/Sigmastudio/DigiRadio.zip
new file mode 100644
index 0000000..634a74b
Binary files /dev/null and b/Software/Sigmastudio/DigiRadio.zip differ
diff --git a/Software/Sigmastudio/DigiRadioTest.zip b/Software/Sigmastudio/DigiRadioTest.zip
new file mode 100644
index 0000000..ca93f85
Binary files /dev/null and b/Software/Sigmastudio/DigiRadioTest.zip differ
diff --git a/Software/Sigmastudio/DigiRadioTest/DigiRadio.hex b/Software/Sigmastudio/DigiRadioTest/DigiRadio.hex
new file mode 100644
index 0000000..f903ffe
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/DigiRadio.hex
@@ -0,0 +1,1025 @@
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x6C , 0xAC ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x7F , 0xC3 , 0x65 ,
+0x0F , 0x00 , 0x79 , 0x35 ,
+0x00 , 0x7F , 0xC3 , 0x65 ,
+0x00 , 0xFF , 0x86 , 0xAE ,
+0x0F , 0x80 , 0x79 , 0x19 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x0F , 0xFE , 0x2B , 0xE3 ,
+0x00 , 0x22 , 0xBE , 0x2C ,
+0x0F , 0xEA , 0xAA , 0xAB ,
+0x00 , 0x6A , 0xAA , 0xAB ,
+0x0F , 0x9A , 0x69 , 0xA7 ,
+0x00 , 0xFD , 0xF7 , 0xDF ,
+0x08 , 0x3C , 0x6C , 0x20 ,
+0x03 , 0xF5 , 0xAA , 0x23 ,
+0x01 , 0x80 , 0x00 , 0x00 ,
+0x01 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x33 , 0x33 , 0x33 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x07 , 0xDC ,
+0x00 , 0x00 , 0x08 , 0x00 ,
+0x00 , 0x7F , 0xF0 , 0x00 ,
+0x0F , 0xFE , 0x2B , 0xE3 ,
+0x00 , 0x22 , 0xBE , 0x2C ,
+0x0F , 0xEA , 0xAA , 0xAB ,
+0x00 , 0x6A , 0xAA , 0xAB ,
+0x0F , 0x9A , 0x69 , 0xA7 ,
+0x00 , 0xFD , 0xF7 , 0xDF ,
+0x08 , 0x3C , 0x6C , 0x20 ,
+0x03 , 0xF5 , 0xAA , 0x23 ,
+0x01 , 0x80 , 0x00 , 0x00 ,
+0x01 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x33 , 0x33 , 0x33 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x07 , 0xDC ,
+0x00 , 0x00 , 0x08 , 0x00 ,
+0x00 , 0x7F , 0xF0 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+
diff --git a/Software/Sigmastudio/DigiRadioTest/DigiRadio.params b/Software/Sigmastudio/DigiRadioTest/DigiRadio.params
new file mode 100644
index 0000000..ce12f29
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/DigiRadio.params
@@ -0,0 +1,2962 @@
+Cell Name = Si4674
+Parameter Name = Gain1940AlgNS1
+Parameter Address = 3
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = Si4674
+Parameter Name = Gain1940AlgNS2
+Parameter Address = 4
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = ESP32
+Parameter Name = Gain1940AlgNS3
+Parameter Address = 5
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = ESP32
+Parameter Name = Gain1940AlgNS4
+Parameter Address = 6
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = St Mixer1
+Parameter Name = StereoMixerAlg12
+Parameter Address = 7
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = St Mixer1
+Parameter Name = StereoMixerAlg14
+Parameter Address = 8
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B1
+Parameter Address = 9
+Parameter Value = 0.99815046787262
+Parameter Data :
+0x00 , 0x7F , 0xC3 , 0x65 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B1
+Parameter Address = 10
+Parameter Value = -1.99630105495453
+Parameter Data :
+0x0F , 0x00 , 0x79 , 0x35 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B1
+Parameter Address = 11
+Parameter Value = 0.99815046787262
+Parameter Data :
+0x00 , 0x7F , 0xC3 , 0x65 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A1
+Parameter Address = 12
+Parameter Value = 1.99629759788513
+Parameter Data :
+0x00 , 0xFF , 0x86 , 0xAE ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A1
+Parameter Address = 13
+Parameter Value = -0.996304392814636
+Parameter Data :
+0x0F , 0x80 , 0x79 , 0x19 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B2
+Parameter Address = 14
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B2
+Parameter Address = 15
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B2
+Parameter Address = 16
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A2
+Parameter Address = 17
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A2
+Parameter Address = 18
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B3
+Parameter Address = 19
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B3
+Parameter Address = 20
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B3
+Parameter Address = 21
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A3
+Parameter Address = 22
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A3
+Parameter Address = 23
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B4
+Parameter Address = 24
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B4
+Parameter Address = 25
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B4
+Parameter Address = 26
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A4
+Parameter Address = 27
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A4
+Parameter Address = 28
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B5
+Parameter Address = 29
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B5
+Parameter Address = 30
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B5
+Parameter Address = 31
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A5
+Parameter Address = 32
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A5
+Parameter Address = 33
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B6
+Parameter Address = 34
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B6
+Parameter Address = 35
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B6
+Parameter Address = 36
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A6
+Parameter Address = 37
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A6
+Parameter Address = 38
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B1
+Parameter Address = 9
+Parameter Value = 0.99815046787262
+Parameter Data :
+0x00 , 0x7F , 0xC3 , 0x65 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B1
+Parameter Address = 10
+Parameter Value = -1.99630105495453
+Parameter Data :
+0x0F , 0x00 , 0x79 , 0x35 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B1
+Parameter Address = 11
+Parameter Value = 0.99815046787262
+Parameter Data :
+0x00 , 0x7F , 0xC3 , 0x65 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A1
+Parameter Address = 12
+Parameter Value = 1.99629759788513
+Parameter Data :
+0x00 , 0xFF , 0x86 , 0xAE ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A1
+Parameter Address = 13
+Parameter Value = -0.996304392814636
+Parameter Data :
+0x0F , 0x80 , 0x79 , 0x19 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B2
+Parameter Address = 14
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B2
+Parameter Address = 15
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B2
+Parameter Address = 16
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A2
+Parameter Address = 17
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A2
+Parameter Address = 18
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B3
+Parameter Address = 19
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B3
+Parameter Address = 20
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B3
+Parameter Address = 21
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A3
+Parameter Address = 22
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A3
+Parameter Address = 23
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B4
+Parameter Address = 24
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B4
+Parameter Address = 25
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B4
+Parameter Address = 26
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A4
+Parameter Address = 27
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A4
+Parameter Address = 28
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B5
+Parameter Address = 29
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B5
+Parameter Address = 30
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B5
+Parameter Address = 31
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A5
+Parameter Address = 32
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A5
+Parameter Address = 33
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan10B6
+Parameter Address = 34
+Parameter Value = 1
+Parameter Data :
+0x00 , 0x80 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11B6
+Parameter Address = 35
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12B6
+Parameter Address = 36
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan11A6
+Parameter Address = 37
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Param EQ1
+Parameter Name = PEQ1Chan12A6
+Parameter Address = 38
+Parameter Value = 0
+Parameter Data :
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+
+
+Cell Name = Multiple 1
+Parameter Name = Gain1940AlgNS5
+Parameter Address = 39
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = Multiple 1
+Parameter Name = Gain1940AlgNS6
+Parameter Address = 40
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1slope_1
+Parameter Address = 41
+Parameter Value = -0.014285683631897
+Parameter Data :
+0x0F, 0xFE, 0x2B, 0xE3,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1inter_1
+Parameter Address = 42
+Parameter Value = 0.27142858505249
+Parameter Data :
+0x00, 0x22, 0xBE, 0x2C,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1slope_2
+Parameter Address = 43
+Parameter Value = -0.166666626930237
+Parameter Data :
+0x0F, 0xEA, 0xAA, 0xAB,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1inter_2
+Parameter Address = 44
+Parameter Value = 0.833333373069763
+Parameter Data :
+0x00, 0x6A, 0xAA, 0xAB,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1slope_3
+Parameter Address = 45
+Parameter Value = -0.79365074634552
+Parameter Data :
+0x0F, 0x9A, 0x69, 0xA7,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1inter_3
+Parameter Address = 46
+Parameter Value = 1.98412692546844
+Parameter Data :
+0x00, 0xFD, 0xF7, 0xDF,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1slope_4
+Parameter Address = 47
+Parameter Value = -15.5279502868652
+Parameter Data :
+0x08, 0x3C, 0x6C, 0x20,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1inter_4
+Parameter Address = 48
+Parameter Value = 7.91925466060638
+Parameter Data :
+0x03, 0xF5, 0xAA, 0x23,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1comp1
+Parameter Address = 49
+Parameter Value = 3
+Parameter Data :
+0x01, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1comp2
+Parameter Address = 50
+Parameter Value = 2
+Parameter Data :
+0x01, 0x00, 0x00, 0x00,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1comp3
+Parameter Address = 51
+Parameter Value = 0.399999976158142
+Parameter Data :
+0x00, 0x33, 0x33, 0x33,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1RMS_MONO_TCONST
+Parameter Address = 53
+Parameter Value = 0.000239849090576172
+Parameter Data :
+0x00, 0x00, 0x07, 0xDC,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1threshold
+Parameter Address = 52
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1decay
+Parameter Address = 54
+Parameter Value = 0.000244140625
+Parameter Data :
+0x00, 0x00, 0x08, 0x00,
+
+
+
+Cell Name = Limiter 1
+Parameter Name = limiterAlg1decaycomplement
+Parameter Address = 55
+Parameter Value = 0.99951171875
+Parameter Data :
+0x00, 0x7F, 0xF0, 0x00,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2slope_1
+Parameter Address = 56
+Parameter Value = -0.014285683631897
+Parameter Data :
+0x0F, 0xFE, 0x2B, 0xE3,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2inter_1
+Parameter Address = 57
+Parameter Value = 0.27142858505249
+Parameter Data :
+0x00, 0x22, 0xBE, 0x2C,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2slope_2
+Parameter Address = 58
+Parameter Value = -0.166666626930237
+Parameter Data :
+0x0F, 0xEA, 0xAA, 0xAB,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2inter_2
+Parameter Address = 59
+Parameter Value = 0.833333373069763
+Parameter Data :
+0x00, 0x6A, 0xAA, 0xAB,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2slope_3
+Parameter Address = 60
+Parameter Value = -0.79365074634552
+Parameter Data :
+0x0F, 0x9A, 0x69, 0xA7,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2inter_3
+Parameter Address = 61
+Parameter Value = 1.98412692546844
+Parameter Data :
+0x00, 0xFD, 0xF7, 0xDF,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2slope_4
+Parameter Address = 62
+Parameter Value = -15.5279502868652
+Parameter Data :
+0x08, 0x3C, 0x6C, 0x20,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2inter_4
+Parameter Address = 63
+Parameter Value = 7.91925466060638
+Parameter Data :
+0x03, 0xF5, 0xAA, 0x23,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2comp1
+Parameter Address = 64
+Parameter Value = 3
+Parameter Data :
+0x01, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2comp2
+Parameter Address = 65
+Parameter Value = 2
+Parameter Data :
+0x01, 0x00, 0x00, 0x00,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2comp3
+Parameter Address = 66
+Parameter Value = 0.399999976158142
+Parameter Data :
+0x00, 0x33, 0x33, 0x33,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2RMS_MONO_TCONST
+Parameter Address = 68
+Parameter Value = 0.000239849090576172
+Parameter Data :
+0x00, 0x00, 0x07, 0xDC,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2threshold
+Parameter Address = 67
+Parameter Value = 1
+Parameter Data :
+0x00, 0x80, 0x00, 0x00,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2decay
+Parameter Address = 69
+Parameter Value = 0.000244140625
+Parameter Data :
+0x00, 0x00, 0x08, 0x00,
+
+
+
+Cell Name = Limiter 2
+Parameter Name = limiterAlg2decaycomplement
+Parameter Address = 70
+Parameter Value = 0.99951171875
+Parameter Data :
+0x00, 0x7F, 0xF0, 0x00,
+
+
+
+Cell Name = Beep1
+Parameter Name = beep_freqBeepAlg1
+Parameter Address = 2
+Parameter Value = 0.00331640243530273
+Parameter Data :
+0x00, 0x00, 0x6C, 0xAC,
+
+
+
+Cell Name = Beep1
+Parameter Name = enableBeepAlg1
+Parameter Address = 0
+Parameter Value = 0
+Parameter Data :
+0x00, 0x00, 0x00, 0x00,
+
+
+
+Cell Name = Beep1
+Parameter Name = kickBeepAlg1
+Parameter Address = 1
+Parameter Value = 0
+Parameter Data :
+0x00, 0x00, 0x00, 0x00,
+
+
+
+Parameter data for: IC 1 (Hexadecimal format starting at parameter address 0)
+See also DigiRadio.hex file
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x6C , 0xAC ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x7F , 0xC3 , 0x65 ,
+0x0F , 0x00 , 0x79 , 0x35 ,
+0x00 , 0x7F , 0xC3 , 0x65 ,
+0x00 , 0xFF , 0x86 , 0xAE ,
+0x0F , 0x80 , 0x79 , 0x19 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x0F , 0xFE , 0x2B , 0xE3 ,
+0x00 , 0x22 , 0xBE , 0x2C ,
+0x0F , 0xEA , 0xAA , 0xAB ,
+0x00 , 0x6A , 0xAA , 0xAB ,
+0x0F , 0x9A , 0x69 , 0xA7 ,
+0x00 , 0xFD , 0xF7 , 0xDF ,
+0x08 , 0x3C , 0x6C , 0x20 ,
+0x03 , 0xF5 , 0xAA , 0x23 ,
+0x01 , 0x80 , 0x00 , 0x00 ,
+0x01 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x33 , 0x33 , 0x33 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x07 , 0xDC ,
+0x00 , 0x00 , 0x08 , 0x00 ,
+0x00 , 0x7F , 0xF0 , 0x00 ,
+0x0F , 0xFE , 0x2B , 0xE3 ,
+0x00 , 0x22 , 0xBE , 0x2C ,
+0x0F , 0xEA , 0xAA , 0xAB ,
+0x00 , 0x6A , 0xAA , 0xAB ,
+0x0F , 0x9A , 0x69 , 0xA7 ,
+0x00 , 0xFD , 0xF7 , 0xDF ,
+0x08 , 0x3C , 0x6C , 0x20 ,
+0x03 , 0xF5 , 0xAA , 0x23 ,
+0x01 , 0x80 , 0x00 , 0x00 ,
+0x01 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x33 , 0x33 , 0x33 ,
+0x00 , 0x80 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x07 , 0xDC ,
+0x00 , 0x00 , 0x08 , 0x00 ,
+0x00 , 0x7F , 0xF0 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+0x00 , 0x00 , 0x00 , 0x00 ,
+
+Parameter data for: IC 1 (Binary format starting at parameter address 0)
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 01101100 10101100
+00000000 10000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 01111111 11000011 01100101
+00001111 00000000 01111001 00110101
+00000000 01111111 11000011 01100101
+00000000 11111111 10000110 10101110
+00001111 10000000 01111001 00011001
+00000000 10000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00000000 10000000 00000000 00000000
+00001111 11111110 00101011 11100011
+00000000 00100010 10111110 00101100
+00001111 11101010 10101010 10101011
+00000000 01101010 10101010 10101011
+00001111 10011010 01101001 10100111
+00000000 11111101 11110111 11011111
+00001000 00111100 01101100 00100000
+00000011 11110101 10101010 00100011
+00000001 10000000 00000000 00000000
+00000001 00000000 00000000 00000000
+00000000 00110011 00110011 00110011
+00000000 10000000 00000000 00000000
+00000000 00000000 00000111 11011100
+00000000 00000000 00001000 00000000
+00000000 01111111 11110000 00000000
+00001111 11111110 00101011 11100011
+00000000 00100010 10111110 00101100
+00001111 11101010 10101010 10101011
+00000000 01101010 10101010 10101011
+00001111 10011010 01101001 10100111
+00000000 11111101 11110111 11011111
+00001000 00111100 01101100 00100000
+00000011 11110101 10101010 00100011
+00000001 10000000 00000000 00000000
+00000001 00000000 00000000 00000000
+00000000 00110011 00110011 00110011
+00000000 10000000 00000000 00000000
+00000000 00000000 00000111 11011100
+00000000 00000000 00001000 00000000
+00000000 01111111 11110000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+00000000 00000000 00000000 00000000
+
diff --git a/Software/Sigmastudio/DigiRadioTest/DigiRadio.xml b/Software/Sigmastudio/DigiRadioTest/DigiRadio.xml
new file mode 100644
index 0000000..b61fd27
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/DigiRadio.xml
@@ -0,0 +1,944 @@
+
+
+
+
+
+ IC 1
+ Sigma100
+
+ IC 1.CoreRegister
+ 2076
+ 0
+ 2
+ 0x00, 0x18,
+
+
+ Program Data
+ 1024
+ 5
+ 5120
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x28, 0x00, 0xE8, 0x01, 0x00, 0x02, 0x01, 0xA0, 0x01, 0xFF, 0xE1, 0x07, 0x20, 0x01, 0x00, 0x38, 0x00, 0xE2, 0x01, 0x00, 0x42, 0x02, 0x20, 0x01, 0x00, 0x52, 0x00, 0x22, 0x01, 0x00, 0x58, 0x00, 0xE2, 0x01, 0x00, 0x42, 0x00, 0x20, 0x01, 0x00, 0x59, 0x08, 0x22, 0x41, 0x00, 0x39, 0x08, 0x22, 0x01, 0x00, 0x31, 0x08, 0x22, 0x41, 0x00, 0x48, 0x00, 0xE2, 0x01, 0x00, 0x12, 0x03, 0x20, 0x01, 0x00, 0x60, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x04, 0x20, 0x01, 0x00, 0x68, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x22, 0x05, 0x20, 0x01, 0x00, 0x70, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x06, 0x20, 0x01, 0x00, 0x78, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0x08, 0x20, 0x01, 0xFF, 0x28, 0x00, 0x02, 0x01, 0x00, 0x62, 0x07, 0x20, 0x01, 0x00, 0x6A, 0x07, 0x40, 0x01, 0x00, 0x72, 0x08, 0x22, 0x01, 0x00, 0x7A, 0x08, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x90, 0x00, 0xE2, 0x01, 0x01, 0xC8, 0x00, 0xE4, 0x01, 0x00, 0xBA, 0x0C, 0x20, 0x01, 0x00, 0xB2, 0x0D, 0x22, 0x01, 0x00, 0xA2, 0x0C, 0x34, 0x01, 0x00, 0x9A, 0x0D, 0x22, 0x01, 0x00, 0x92, 0x09, 0x22, 0x01, 0x00, 0x8A, 0x0A, 0x22, 0x01, 0x00, 0x82, 0x0B, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xA8, 0x00, 0xE2, 0x01, 0x00, 0xC0, 0x00, 0xF2, 0x01, 0x00, 0xEA, 0x11, 0x20, 0x01, 0x00, 0xE2, 0x12, 0x22, 0x01, 0x00, 0xD2, 0x11, 0x34, 0x01, 0x00, 0xCA, 0x12, 0x22, 0x01, 0x00, 0xAA, 0x0E, 0x22, 0x01, 0x00, 0xA2, 0x0F, 0x22, 0x01, 0x00, 0x9A, 0x10, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD8, 0x00, 0xE2, 0x01, 0x00, 0xF0, 0x00, 0xF2, 0x01, 0x01, 0x1A, 0x16, 0x20, 0x01, 0x01, 0x12, 0x17, 0x22, 0x01, 0x01, 0x02, 0x16, 0x34, 0x01, 0x00, 0xFA, 0x17, 0x22, 0x01, 0x00, 0xDA, 0x13, 0x22, 0x01, 0x00, 0xD2, 0x14, 0x22, 0x01, 0x00, 0xCA, 0x15, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x08, 0x00, 0xE2, 0x01, 0x01, 0x20, 0x00, 0xF2, 0x01, 0x01, 0x4A, 0x1B, 0x20, 0x01, 0x01, 0x42, 0x1C, 0x22, 0x01, 0x01, 0x32, 0x1B, 0x34, 0x01, 0x01, 0x2A, 0x1C, 0x22, 0x01, 0x01, 0x0A, 0x18, 0x22, 0x01, 0x01, 0x02, 0x19, 0x22, 0x01, 0x00, 0xFA, 0x1A, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x38, 0x00, 0xE2, 0x01, 0x01, 0x50, 0x00, 0xF2, 0x01, 0x01, 0x7A, 0x20, 0x20, 0x01, 0x01, 0x72, 0x21, 0x22, 0x01, 0x01, 0x62, 0x20, 0x34, 0x01, 0x01, 0x5A, 0x21, 0x22, 0x01, 0x01, 0x3A, 0x1D, 0x22, 0x01, 0x01, 0x32, 0x1E, 0x22, 0x01, 0x01, 0x2A, 0x1F, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x68, 0x00, 0xE2, 0x01, 0x01, 0x80, 0x00, 0xF2, 0x01, 0x01, 0xAA, 0x25, 0x20, 0x01, 0x01, 0xA2, 0x26, 0x22, 0x01, 0x01, 0x92, 0x25, 0x34, 0x01, 0x01, 0x8A, 0x26, 0x22, 0x01, 0x01, 0x6A, 0x22, 0x22, 0x01, 0x01, 0x62, 0x23, 0x22, 0x01, 0x01, 0x5A, 0x24, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x98, 0x00, 0xE2, 0x01, 0x01, 0xB0, 0x00, 0xF2, 0x01, 0x01, 0xF2, 0x0C, 0x20, 0x01, 0x01, 0xEA, 0x0D, 0x22, 0x01, 0x01, 0xDA, 0x0C, 0x34, 0x01, 0x01, 0xD2, 0x0D, 0x22, 0x01, 0x01, 0xCA, 0x09, 0x22, 0x01, 0x01, 0xC2, 0x0A, 0x22, 0x01, 0x01, 0xBA, 0x0B, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xE0, 0x00, 0xE2, 0x01, 0x01, 0xF8, 0x00, 0xF2, 0x01, 0x02, 0x22, 0x11, 0x20, 0x01, 0x02, 0x1A, 0x12, 0x22, 0x01, 0x02, 0x0A, 0x11, 0x34, 0x01, 0x02, 0x02, 0x12, 0x22, 0x01, 0x01, 0xE2, 0x0E, 0x22, 0x01, 0x01, 0xDA, 0x0F, 0x22, 0x01, 0x01, 0xD2, 0x10, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x10, 0x00, 0xE2, 0x01, 0x02, 0x28, 0x00, 0xF2, 0x01, 0x02, 0x52, 0x16, 0x20, 0x01, 0x02, 0x4A, 0x17, 0x22, 0x01, 0x02, 0x3A, 0x16, 0x34, 0x01, 0x02, 0x32, 0x17, 0x22, 0x01, 0x02, 0x12, 0x13, 0x22, 0x01, 0x02, 0x0A, 0x14, 0x22, 0x01, 0x02, 0x02, 0x15, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x40, 0x00, 0xE2, 0x01, 0x02, 0x58, 0x00, 0xF2, 0x01, 0x02, 0x82, 0x1B, 0x20, 0x01, 0x02, 0x7A, 0x1C, 0x22, 0x01, 0x02, 0x6A, 0x1B, 0x34, 0x01, 0x02, 0x62, 0x1C, 0x22, 0x01, 0x02, 0x42, 0x18, 0x22, 0x01, 0x02, 0x3A, 0x19, 0x22, 0x01, 0x02, 0x32, 0x1A, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x70, 0x00, 0xE2, 0x01, 0x02, 0x88, 0x00, 0xF2, 0x01, 0x02, 0xB2, 0x20, 0x20, 0x01, 0x02, 0xAA, 0x21, 0x22, 0x01, 0x02, 0x9A, 0x20, 0x34, 0x01, 0x02, 0x92, 0x21, 0x22, 0x01, 0x02, 0x72, 0x1D, 0x22, 0x01, 0x02, 0x6A, 0x1E, 0x22, 0x01, 0x02, 0x62, 0x1F, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xA0, 0x00, 0xE2, 0x01, 0x02, 0xB8, 0x00, 0xF2, 0x01, 0x02, 0xE2, 0x25, 0x20, 0x01, 0x02, 0xDA, 0x26, 0x22, 0x01, 0x02, 0xCA, 0x25, 0x34, 0x01, 0x02, 0xC2, 0x26, 0x22, 0x01, 0x02, 0xA2, 0x22, 0x22, 0x01, 0x02, 0x9A, 0x23, 0x22, 0x01, 0x02, 0x92, 0x24, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xD0, 0x00, 0xE2, 0x01, 0x02, 0xE8, 0x00, 0xF2, 0x01, 0x01, 0x9A, 0x27, 0x20, 0x01, 0x02, 0xF0, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xD2, 0x28, 0x20, 0x01, 0x02, 0xF8, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xF1, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x58, 0x00, 0xF0, 0x01, 0xFF, 0xE9, 0x08, 0x22, 0x01, 0x03, 0x50, 0x00, 0xF2, 0x01, 0x03, 0x41, 0x08, 0x20, 0x01, 0x03, 0x42, 0x35, 0x22, 0x41, 0x03, 0x52, 0x35, 0x22, 0x01, 0x03, 0x31, 0x08, 0x34, 0x01, 0x03, 0x32, 0x35, 0x22, 0x41, 0x03, 0x5A, 0x35, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x38, 0x00, 0xE2, 0x01, 0x03, 0x48, 0x00, 0xF2, 0x01, 0x03, 0x60, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x31, 0x40, 0x01, 0x03, 0x61, 0x08, 0x20, 0x09, 0x03, 0x62, 0x29, 0x20, 0x01, 0xFF, 0xF2, 0x2A, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x62, 0x2B, 0x20, 0x01, 0xFF, 0xF2, 0x2C, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x32, 0x40, 0x01, 0x03, 0x61, 0x08, 0x20, 0x09, 0x03, 0x62, 0x2D, 0x20, 0x01, 0xFF, 0xF2, 0x2E, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x33, 0x40, 0x01, 0x03, 0x61, 0x08, 0x20, 0x09, 0x03, 0x62, 0x2F, 0x20, 0x01, 0xFF, 0xF2, 0x30, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x03, 0x67, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x07, 0xFF, 0x20, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x03, 0x67, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x07, 0xFF, 0x20, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x03, 0x67, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x07, 0xFF, 0x20, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x02, 0x34, 0xA0, 0x01, 0xFF, 0xE7, 0xFF, 0x20, 0x01, 0x03, 0x28, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x29, 0x08, 0x40, 0x01, 0xFF, 0xF1, 0x08, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x28, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x29, 0x08, 0x40, 0x01, 0x03, 0x21, 0x08, 0x20, 0x09, 0x03, 0x2A, 0x36, 0x20, 0x01, 0x03, 0x22, 0x36, 0x22, 0x41, 0x03, 0x21, 0x08, 0x22, 0x01, 0x03, 0x28, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x29, 0x08, 0x20, 0x01, 0x03, 0x18, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x37, 0x22, 0x49, 0xFF, 0xF1, 0x08, 0x20, 0x01, 0xFF, 0xE9, 0x08, 0x20, 0x25, 0x03, 0x10, 0x00, 0xE2, 0x01, 0x03, 0x28, 0x00, 0xC0, 0x01, 0x02, 0xF7, 0xFF, 0x20, 0x01, 0x03, 0x08, 0x00, 0xE2, 0x01, 0x02, 0xF9, 0x08, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x58, 0x00, 0xF0, 0x01, 0xFF, 0xE9, 0x08, 0x22, 0x01, 0x03, 0x50, 0x00, 0xF2, 0x01, 0x03, 0xA1, 0x08, 0x20, 0x01, 0x03, 0xA2, 0x44, 0x22, 0x41, 0x03, 0x52, 0x44, 0x22, 0x01, 0x03, 0x91, 0x08, 0x34, 0x01, 0x03, 0x92, 0x44, 0x22, 0x41, 0x03, 0x5A, 0x44, 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x98, 0x00, 0xE2, 0x01, 0x03, 0xA8, 0x00, 0xF2, 0x01, 0x03, 0x60, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x40, 0x40, 0x01, 0x03, 0x61, 0x08, 0x20, 0x09, 0x03, 0x62, 0x38, 0x20, 0x01, 0xFF, 0xF2, 0x39, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x62, 0x3A, 0x20, 0x01, 0xFF, 0xF2, 0x3B, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x41, 0x40, 0x01, 0x03, 0x61, 0x08, 0x20, 0x09, 0x03, 0x62, 0x3C, 0x20, 0x01, 0xFF, 0xF2, 0x3D, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x23, 0xFF, 0xF2, 0x42, 0x40, 0x01, 0x03, 0x61, 0x08, 0x20, 0x09, 0x03, 0x62, 0x3E, 0x20, 0x01, 0xFF, 0xF2, 0x3F, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x03, 0x67, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x07, 0xFF, 0x20, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x03, 0x67, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x07, 0xFF, 0x20, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x03, 0x67, 0xFF, 0x20, 0x41, 0xFF, 0xF1, 0x07, 0x22, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x07, 0xFF, 0x20, 0x01, 0x03, 0x00, 0x00, 0xE2, 0x01, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x02, 0x43, 0xA0, 0x01, 0xFF, 0xE7, 0xFF, 0x20, 0x01, 0x03, 0x88, 0x00, 0xE2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x89, 0x08, 0x40, 0x01, 0xFF, 0xF1, 0x08, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x88, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x89, 0x08, 0x40, 0x01, 0x03, 0x81, 0x08, 0x20, 0x09, 0x03, 0x8A, 0x45, 0x20, 0x01, 0x03, 0x82, 0x45, 0x22, 0x41, 0x03, 0x81, 0x08, 0x22, 0x01, 0x03, 0x88, 0x00, 0xE2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x89, 0x08, 0x20, 0x01, 0x03, 0x78, 0x00, 0xE2, 0x01, 0xFF, 0xF2, 0x46, 0x22, 0x49, 0xFF, 0xF1, 0x08, 0x20, 0x01, 0xFF, 0xE9, 0x08, 0x20, 0x25, 0x03, 0x70, 0x00, 0xE2, 0x01, 0x03, 0x88, 0x00, 0xC0, 0x01, 0x02, 0xFF, 0xFF, 0x20, 0x01, 0x03, 0x68, 0x00, 0xE2, 0x01, 0x03, 0x69, 0x08, 0x20, 0x01, 0xFF, 0x30, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
+
+
+ Param
+ 0
+ 4
+ 4096
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xAC, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xC3, 0x65, 0x0F, 0x00, 0x79, 0x35, 0x00, 0x7F, 0xC3, 0x65, 0x00, 0xFF, 0x86, 0xAE, 0x0F, 0x80, 0x79, 0x19, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0F, 0xFE, 0x2B, 0xE3, 0x00, 0x22, 0xBE, 0x2C, 0x0F, 0xEA, 0xAA, 0xAB, 0x00, 0x6A, 0xAA, 0xAB, 0x0F, 0x9A, 0x69, 0xA7, 0x00, 0xFD, 0xF7, 0xDF, 0x08, 0x3C, 0x6C, 0x20, 0x03, 0xF5, 0xAA, 0x23, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDC, 0x00, 0x00, 0x08, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x0F, 0xFE, 0x2B, 0xE3, 0x00, 0x22, 0xBE, 0x2C, 0x0F, 0xEA, 0xAA, 0xAB, 0x00, 0x6A, 0xAA, 0xAB, 0x0F, 0x9A, 0x69, 0xA7, 0x00, 0xFD, 0xF7, 0xDF, 0x08, 0x3C, 0x6C, 0x20, 0x03, 0xF5, 0xAA, 0x23, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDC, 0x00, 0x00, 0x08, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+
+ IC 1.HWConFiguration
+ 2076
+ 0
+ 24
+ 0x00, 0x18, 0x08, 0x08, 0x00, 0x00, 0x44, 0x00, 0x44, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+
+
+ IC 1.CoreRegister
+ 2076
+ 0
+ 2
+ 0x00, 0x1C,
+
+
+ Si4674
+
+ ALG0
+ Gain1940AlgNS1
+ Gain (no slew)( 1 ) : Gain`max[ 0 ],Gain`min[ -80 ],Gain`res[ 40 ],Gain[ 0 ];
+
+ Gain1940AlgNS1
+ FixedPoint
+ 3
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
+ ALG1
+ Gain1940AlgNS2
+ Gain (no slew)( 1 ) : Gain`max[ 0 ],Gain`min[ -80 ],Gain`res[ 40 ],Gain[ 0 ];
+
+ Gain1940AlgNS2
+ FixedPoint
+ 4
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
+
+ ESP32
+
+ ALG0
+ Gain1940AlgNS3
+ Gain (no slew)( 1 ) : Gain`max[ 0 ],Gain`min[ -80 ],Gain`res[ 40 ],Gain[ 0 ];
+
+ Gain1940AlgNS3
+ FixedPoint
+ 5
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
+ ALG1
+ Gain1940AlgNS4
+ Gain (no slew)( 1 ) : Gain`max[ 0 ],Gain`min[ -80 ],Gain`res[ 40 ],Gain[ 0 ];
+
+ Gain1940AlgNS4
+ FixedPoint
+ 6
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
+
+ St Mixer1
+
+ ALG0
+ StereoMixerAlg1
+ Stereo Mixer( 2 ) : Gain`max[ 6 ],Gain`min[ -30 ],Gain`res[ 36 ],Gain[ 0 ];Gain`max[ 6 ],Gain`min[ -30 ],Gain`res[ 36 ],Gain[ 0 ];
+
+ StereoMixerAlg12
+ FixedPoint
+ 7
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ StereoMixerAlg14
+ FixedPoint
+ 8
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
+
+ Param EQ1
+
+ ALG0
+ PEQ1Chan1
+ PEQ1Chan - Double Precision( 1 ) : Gain10[ 0 ],Gain20[ 0 ],Q0[ 1.41 ],Boost0[ 0 ],Frequency10[ 20 ],Frequency20[ 1000 ],Ripple0[ 0.1 ],Active10[ True ],Active20[ True ],LowPass10[ True ],LowPass20[ True ],Bypass0[ False ],View0[ False ],Type0[ 6 ],SubType0[ 0 ],Gain11[ 0 ],Gain21[ 0 ],Q1[ 1 ],Boost1[ 0 ],Frequency11[ 100 ],Frequency21[ 1000 ],Ripple1[ 0.1 ],Active11[ True ],Active21[ True ],LowPass11[ True ],LowPass21[ True ],Bypass1[ False ],View1[ False ],Type1[ 0 ],SubType1[ 0 ],Gain12[ 0 ],Gain22[ 0 ],Q2[ 1 ],Boost2[ 0 ],Frequency12[ 400 ],Frequency22[ 1000 ],Ripple2[ 0.1 ],Active12[ True ],Active22[ True ],LowPass12[ True ],LowPass22[ True ],Bypass2[ False ],View2[ False ],Type2[ 0 ],SubType2[ 0 ],Gain13[ 0 ],Gain23[ 0 ],Q3[ 1 ],Boost3[ 0 ],Frequency13[ 1000 ],Frequency23[ 1000 ],Ripple3[ 0.1 ],Active13[ True ],Active23[ True ],LowPass13[ True ],LowPass23[ True ],Bypass3[ False ],View3[ False ],Type3[ 0 ],SubType3[ 0 ],Gain14[ 0 ],Gain24[ 0 ],Q4[ 1 ],Boost4[ 0 ],Frequency14[ 3000 ],Frequency24[ 1000 ],Ripple4[ 0.1 ],Active14[ True ],Active24[ True ],LowPass14[ True ],LowPass24[ True ],Bypass4[ False ],View4[ False ],Type4[ 0 ],SubType4[ 0 ],Gain15[ 0 ],Gain25[ 0 ],Q5[ 1 ],Boost5[ 0 ],Frequency15[ 8000 ],Frequency25[ 1000 ],Ripple5[ 0.1 ],Active15[ True ],Active25[ True ],LowPass15[ True ],LowPass25[ True ],Bypass5[ False ],View5[ False ],Type5[ 0 ],SubType5[ 0 ],Gain16[ 0 ],Gain26[ 0 ],Q6[ 1.41 ],Boost6[ 5 ],Frequency16[ 4000 ],Frequency26[ 1000 ],Ripple6[ 0.1 ],Active16[ True ],Active26[ True ],LowPass16[ True ],LowPass26[ True ],Bypass6[ False ],View6[ False ],Type6[ 0 ],SubType6[ 0 ],Gain17[ 0 ],Gain27[ 0 ],Q7[ 1.41 ],Boost7[ 5 ],Frequency17[ 8000 ],Frequency27[ 1000 ],Ripple7[ 0.1 ],Active17[ True ],Active27[ True ],LowPass17[ True ],LowPass27[ True ],Bypass7[ False ],View7[ False ],Type7[ 0 ],SubType7[ 0 ],Gain18[ 0 ],Gain28[ 0 ],Q8[ 1.41 ],Boost8[ 5 ],Frequency18[ 16000 ],Frequency28[ 1000 ],Ripple8[ 0.1 ],Active18[ True ],Active28[ True ],LowPass18[ True ],LowPass28[ True ],Bypass8[ False ],View8[ False ],Type8[ 0 ],SubType8[ 0 ],Gain19[ 0 ],Gain29[ 0 ],Q9[ 1.41 ],Boost9[ 5 ],Frequency19[ 32000 ],Frequency29[ 1000 ],Ripple9[ 0.1 ],Active19[ True ],Active29[ True ],LowPass19[ True ],LowPass29[ True ],Bypass9[ False ],View9[ False ],Type9[ 0 ],SubType9[ 0 ],Gain110[ 0 ],Gain210[ 0 ],Q10[ 1.41 ],Boost10[ 5 ],Frequency110[ 64000 ],Frequency210[ 1000 ],Ripple10[ 0.1 ],Active110[ True ],Active210[ True ],LowPass110[ True ],LowPass210[ True ],Bypass10[ False ],View10[ False ],Type10[ 0 ],SubType10[ 0 ],Gain111[ 0 ],Gain211[ 0 ],Q11[ 1.41 ],Boost11[ 5 ],Frequency111[ 128000 ],Frequency211[ 1000 ],Ripple11[ 0.1 ],Active111[ True ],Active211[ True ],LowPass111[ True ],LowPass211[ True ],Bypass11[ False ],View11[ False ],Type11[ 0 ],SubType11[ 0 ],Gain112[ 0 ],Gain212[ 0 ],Q12[ 1.41 ],Boost12[ 5 ],Frequency112[ 256000 ],Frequency212[ 1000 ],Ripple12[ 0.1 ],Active112[ True ],Active212[ True ],LowPass112[ True ],LowPass212[ True ],Bypass12[ False ],View12[ False ],Type12[ 0 ],SubType12[ 0 ],Gain113[ 0 ],Gain213[ 0 ],Q13[ 1.41 ],Boost13[ 5 ],Frequency113[ 512000 ],Frequency213[ 1000 ],Ripple13[ 0.1 ],Active113[ True ],Active213[ True ],LowPass113[ True ],LowPass213[ True ],Bypass13[ False ],View13[ False ],Type13[ 0 ],SubType13[ 0 ],Gain114[ 0 ],Gain214[ 0 ],Q14[ 1.41 ],Boost14[ 5 ],Frequency114[ 1024000 ],Frequency214[ 1000 ],Ripple14[ 0.1 ],Active114[ True ],Active214[ True ],LowPass114[ True ],LowPass214[ True ],Bypass14[ False ],View14[ False ],Type14[ 0 ],SubType14[ 0 ],Index[ 5 ];
+
+ PEQ1Chan10B1
+ FixedPoint
+ 9
+ 0.99815046787262
+ 4
+ 0x00, 0x7F, 0xC3, 0x65,
+
+
+ PEQ1Chan10B1
+ FixedPoint
+ 9
+ 0.99815046787262
+ 4
+ 0x00, 0x7F, 0xC3, 0x65,
+
+
+ PEQ1Chan11B1
+ FixedPoint
+ 10
+ -1.99630105495453
+ 4
+ 0x0F, 0x00, 0x79, 0x35,
+
+
+ PEQ1Chan11B1
+ FixedPoint
+ 10
+ -1.99630105495453
+ 4
+ 0x0F, 0x00, 0x79, 0x35,
+
+
+ PEQ1Chan12B1
+ FixedPoint
+ 11
+ 0.99815046787262
+ 4
+ 0x00, 0x7F, 0xC3, 0x65,
+
+
+ PEQ1Chan12B1
+ FixedPoint
+ 11
+ 0.99815046787262
+ 4
+ 0x00, 0x7F, 0xC3, 0x65,
+
+
+ PEQ1Chan11A1
+ FixedPoint
+ 12
+ 1.99629759788513
+ 4
+ 0x00, 0xFF, 0x86, 0xAE,
+
+
+ PEQ1Chan11A1
+ FixedPoint
+ 12
+ 1.99629759788513
+ 4
+ 0x00, 0xFF, 0x86, 0xAE,
+
+
+ PEQ1Chan12A1
+ FixedPoint
+ 13
+ -0.996304392814636
+ 4
+ 0x0F, 0x80, 0x79, 0x19,
+
+
+ PEQ1Chan12A1
+ FixedPoint
+ 13
+ -0.996304392814636
+ 4
+ 0x0F, 0x80, 0x79, 0x19,
+
+
+ PEQ1Chan10B2
+ FixedPoint
+ 14
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan10B2
+ FixedPoint
+ 14
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan11B2
+ FixedPoint
+ 15
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11B2
+ FixedPoint
+ 15
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B2
+ FixedPoint
+ 16
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B2
+ FixedPoint
+ 16
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A2
+ FixedPoint
+ 17
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A2
+ FixedPoint
+ 17
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A2
+ FixedPoint
+ 18
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A2
+ FixedPoint
+ 18
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan10B3
+ FixedPoint
+ 19
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan10B3
+ FixedPoint
+ 19
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan11B3
+ FixedPoint
+ 20
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11B3
+ FixedPoint
+ 20
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B3
+ FixedPoint
+ 21
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B3
+ FixedPoint
+ 21
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A3
+ FixedPoint
+ 22
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A3
+ FixedPoint
+ 22
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A3
+ FixedPoint
+ 23
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A3
+ FixedPoint
+ 23
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan10B4
+ FixedPoint
+ 24
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan10B4
+ FixedPoint
+ 24
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan11B4
+ FixedPoint
+ 25
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11B4
+ FixedPoint
+ 25
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B4
+ FixedPoint
+ 26
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B4
+ FixedPoint
+ 26
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A4
+ FixedPoint
+ 27
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A4
+ FixedPoint
+ 27
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A4
+ FixedPoint
+ 28
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A4
+ FixedPoint
+ 28
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan10B5
+ FixedPoint
+ 29
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan10B5
+ FixedPoint
+ 29
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan11B5
+ FixedPoint
+ 30
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11B5
+ FixedPoint
+ 30
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B5
+ FixedPoint
+ 31
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B5
+ FixedPoint
+ 31
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A5
+ FixedPoint
+ 32
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A5
+ FixedPoint
+ 32
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A5
+ FixedPoint
+ 33
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A5
+ FixedPoint
+ 33
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan10B6
+ FixedPoint
+ 34
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan10B6
+ FixedPoint
+ 34
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ PEQ1Chan11B6
+ FixedPoint
+ 35
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11B6
+ FixedPoint
+ 35
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B6
+ FixedPoint
+ 36
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12B6
+ FixedPoint
+ 36
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A6
+ FixedPoint
+ 37
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan11A6
+ FixedPoint
+ 37
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A6
+ FixedPoint
+ 38
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ PEQ1Chan12A6
+ FixedPoint
+ 38
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+
+
+ Multiple 1
+
+ ALG0
+ Gain1940AlgNS5
+ Gain (no slew)( 1 ) : Gain`max[ 0 ],Gain`min[ -80 ],Gain`res[ 40 ],Gain[ 0 ];
+
+ Gain1940AlgNS5
+ FixedPoint
+ 39
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
+ ALG1
+ Gain1940AlgNS6
+ Gain (no slew)( 1 ) : Gain`max[ 0 ],Gain`min[ -80 ],Gain`res[ 40 ],Gain[ 0 ];
+
+ Gain1940AlgNS6
+ FixedPoint
+ 40
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+
+
+ Limiter 1
+
+ ALG0
+ limiterAlg1
+ Limiter with Indicator( 1 ) : RMSvalue[ 50 ],Threshold[ 0 ],DecayTime[ 12 ];
+
+ limiterAlg1slope_1
+ FixedPoint
+ 41
+ -0.014285683631897
+ 4
+ 0x0F, 0xFE, 0x2B, 0xE3,
+
+
+ limiterAlg1inter_1
+ FixedPoint
+ 42
+ 0.27142858505249
+ 4
+ 0x00, 0x22, 0xBE, 0x2C,
+
+
+ limiterAlg1slope_2
+ FixedPoint
+ 43
+ -0.166666626930237
+ 4
+ 0x0F, 0xEA, 0xAA, 0xAB,
+
+
+ limiterAlg1inter_2
+ FixedPoint
+ 44
+ 0.833333373069763
+ 4
+ 0x00, 0x6A, 0xAA, 0xAB,
+
+
+ limiterAlg1slope_3
+ FixedPoint
+ 45
+ -0.79365074634552
+ 4
+ 0x0F, 0x9A, 0x69, 0xA7,
+
+
+ limiterAlg1inter_3
+ FixedPoint
+ 46
+ 1.98412692546844
+ 4
+ 0x00, 0xFD, 0xF7, 0xDF,
+
+
+ limiterAlg1slope_4
+ FixedPoint
+ 47
+ -15.5279502868652
+ 4
+ 0x08, 0x3C, 0x6C, 0x20,
+
+
+ limiterAlg1inter_4
+ FixedPoint
+ 48
+ 7.91925466060638
+ 4
+ 0x03, 0xF5, 0xAA, 0x23,
+
+
+ limiterAlg1comp1
+ FixedPoint
+ 49
+ 3
+ 4
+ 0x01, 0x80, 0x00, 0x00,
+
+
+ limiterAlg1comp2
+ FixedPoint
+ 50
+ 2
+ 4
+ 0x01, 0x00, 0x00, 0x00,
+
+
+ limiterAlg1comp3
+ FixedPoint
+ 51
+ 0.399999976158142
+ 4
+ 0x00, 0x33, 0x33, 0x33,
+
+
+ limiterAlg1threshold
+ FixedPoint
+ 52
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ limiterAlg1RMS_MONO_TCONST
+ FixedPoint
+ 53
+ 0.000239849090576172
+ 4
+ 0x00, 0x00, 0x07, 0xDC,
+
+
+ limiterAlg1decay
+ FixedPoint
+ 54
+ 0.000244140625
+ 4
+ 0x00, 0x00, 0x08, 0x00,
+
+
+ limiterAlg1decaycomplement
+ FixedPoint
+ 55
+ 0.99951171875
+ 4
+ 0x00, 0x7F, 0xF0, 0x00,
+
+
+
+
+ Limiter 2
+
+ ALG0
+ limiterAlg2
+ Limiter with Indicator( 1 ) : RMSvalue[ 50 ],Threshold[ 0 ],DecayTime[ 12 ];
+
+ limiterAlg2slope_1
+ FixedPoint
+ 56
+ -0.014285683631897
+ 4
+ 0x0F, 0xFE, 0x2B, 0xE3,
+
+
+ limiterAlg2inter_1
+ FixedPoint
+ 57
+ 0.27142858505249
+ 4
+ 0x00, 0x22, 0xBE, 0x2C,
+
+
+ limiterAlg2slope_2
+ FixedPoint
+ 58
+ -0.166666626930237
+ 4
+ 0x0F, 0xEA, 0xAA, 0xAB,
+
+
+ limiterAlg2inter_2
+ FixedPoint
+ 59
+ 0.833333373069763
+ 4
+ 0x00, 0x6A, 0xAA, 0xAB,
+
+
+ limiterAlg2slope_3
+ FixedPoint
+ 60
+ -0.79365074634552
+ 4
+ 0x0F, 0x9A, 0x69, 0xA7,
+
+
+ limiterAlg2inter_3
+ FixedPoint
+ 61
+ 1.98412692546844
+ 4
+ 0x00, 0xFD, 0xF7, 0xDF,
+
+
+ limiterAlg2slope_4
+ FixedPoint
+ 62
+ -15.5279502868652
+ 4
+ 0x08, 0x3C, 0x6C, 0x20,
+
+
+ limiterAlg2inter_4
+ FixedPoint
+ 63
+ 7.91925466060638
+ 4
+ 0x03, 0xF5, 0xAA, 0x23,
+
+
+ limiterAlg2comp1
+ FixedPoint
+ 64
+ 3
+ 4
+ 0x01, 0x80, 0x00, 0x00,
+
+
+ limiterAlg2comp2
+ FixedPoint
+ 65
+ 2
+ 4
+ 0x01, 0x00, 0x00, 0x00,
+
+
+ limiterAlg2comp3
+ FixedPoint
+ 66
+ 0.399999976158142
+ 4
+ 0x00, 0x33, 0x33, 0x33,
+
+
+ limiterAlg2threshold
+ FixedPoint
+ 67
+ 1
+ 4
+ 0x00, 0x80, 0x00, 0x00,
+
+
+ limiterAlg2RMS_MONO_TCONST
+ FixedPoint
+ 68
+ 0.000239849090576172
+ 4
+ 0x00, 0x00, 0x07, 0xDC,
+
+
+ limiterAlg2decay
+ FixedPoint
+ 69
+ 0.000244140625
+ 4
+ 0x00, 0x00, 0x08, 0x00,
+
+
+ limiterAlg2decaycomplement
+ FixedPoint
+ 70
+ 0.99951171875
+ 4
+ 0x00, 0x7F, 0xF0, 0x00,
+
+
+
+
+ Beep1
+
+ ALG0
+ BeepAlg1
+ Beep - variable gain( 1 ) : Frequency[ 440 ];
+
+ enableBeepAlg1
+ FixedPoint
+ 0
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ kickBeepAlg1
+ FixedPoint
+ 1
+ 0
+ 4
+ 0x00, 0x00, 0x00, 0x00,
+
+
+ beep_freqBeepAlg1
+ FixedPoint
+ 2
+ 0.00331640243530273
+ 4
+ 0x00, 0x00, 0x6C, 0xAC,
+
+
+
+
+
\ No newline at end of file
diff --git a/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1.h b/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1.h
new file mode 100644
index 0000000..94b9c23
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1.h
@@ -0,0 +1,2119 @@
+/*
+ * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadioTest\DigiRadio_IC_1.h
+ *
+ * Created: Thursday, August 6, 2026 1:57:25 PM
+ * Description: DigiRadio:IC 1 program data.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * This software may only be used to program products purchased from
+ * Analog Devices for incorporation by you into audio products that
+ * are intended for resale to audio product end users. This software
+ * may not be distributed whole or in any part to third parties.
+ *
+ * Copyright ©2026 Analog Devices, Inc. All rights reserved.
+ */
+#ifndef __DIGIRADIO_IC_1_H__
+#define __DIGIRADIO_IC_1_H__
+
+#include "SigmaStudioFW.h"
+#include "DigiRadio_IC_1_REG.h"
+
+#define DEVICE_ARCHITECTURE_IC_1 "ADAU1701"
+#define DEVICE_ADDR_IC_1 0x68
+
+/* DSP Program Data */
+#define PROGRAM_SIZE_IC_1 5120
+#define PROGRAM_ADDR_IC_1 1024
+ADI_REG_TYPE Program_Data_IC_1[PROGRAM_SIZE_IC_1] = {
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x08, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x10, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x18, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x20, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x28, 0x00, 0xE8, 0x01,
+0x00, 0x02, 0x01, 0xA0, 0x01,
+0xFF, 0xE1, 0x07, 0x20, 0x01,
+0x00, 0x38, 0x00, 0xE2, 0x01,
+0x00, 0x42, 0x02, 0x20, 0x01,
+0x00, 0x52, 0x00, 0x22, 0x01,
+0x00, 0x58, 0x00, 0xE2, 0x01,
+0x00, 0x42, 0x00, 0x20, 0x01,
+0x00, 0x59, 0x08, 0x22, 0x41,
+0x00, 0x39, 0x08, 0x22, 0x01,
+0x00, 0x31, 0x08, 0x22, 0x41,
+0x00, 0x48, 0x00, 0xE2, 0x01,
+0x00, 0x12, 0x03, 0x20, 0x01,
+0x00, 0x60, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x1A, 0x04, 0x20, 0x01,
+0x00, 0x68, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x22, 0x05, 0x20, 0x01,
+0x00, 0x70, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x2A, 0x06, 0x20, 0x01,
+0x00, 0x78, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x59, 0x08, 0x20, 0x01,
+0xFF, 0x28, 0x00, 0x02, 0x01,
+0x00, 0x62, 0x07, 0x20, 0x01,
+0x00, 0x6A, 0x07, 0x40, 0x01,
+0x00, 0x72, 0x08, 0x22, 0x01,
+0x00, 0x7A, 0x08, 0x44, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x90, 0x00, 0xE2, 0x01,
+0x01, 0xC8, 0x00, 0xE4, 0x01,
+0x00, 0xBA, 0x0C, 0x20, 0x01,
+0x00, 0xB2, 0x0D, 0x22, 0x01,
+0x00, 0xA2, 0x0C, 0x34, 0x01,
+0x00, 0x9A, 0x0D, 0x22, 0x01,
+0x00, 0x92, 0x09, 0x22, 0x01,
+0x00, 0x8A, 0x0A, 0x22, 0x01,
+0x00, 0x82, 0x0B, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0xA8, 0x00, 0xE2, 0x01,
+0x00, 0xC0, 0x00, 0xF2, 0x01,
+0x00, 0xEA, 0x11, 0x20, 0x01,
+0x00, 0xE2, 0x12, 0x22, 0x01,
+0x00, 0xD2, 0x11, 0x34, 0x01,
+0x00, 0xCA, 0x12, 0x22, 0x01,
+0x00, 0xAA, 0x0E, 0x22, 0x01,
+0x00, 0xA2, 0x0F, 0x22, 0x01,
+0x00, 0x9A, 0x10, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0xD8, 0x00, 0xE2, 0x01,
+0x00, 0xF0, 0x00, 0xF2, 0x01,
+0x01, 0x1A, 0x16, 0x20, 0x01,
+0x01, 0x12, 0x17, 0x22, 0x01,
+0x01, 0x02, 0x16, 0x34, 0x01,
+0x00, 0xFA, 0x17, 0x22, 0x01,
+0x00, 0xDA, 0x13, 0x22, 0x01,
+0x00, 0xD2, 0x14, 0x22, 0x01,
+0x00, 0xCA, 0x15, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x08, 0x00, 0xE2, 0x01,
+0x01, 0x20, 0x00, 0xF2, 0x01,
+0x01, 0x4A, 0x1B, 0x20, 0x01,
+0x01, 0x42, 0x1C, 0x22, 0x01,
+0x01, 0x32, 0x1B, 0x34, 0x01,
+0x01, 0x2A, 0x1C, 0x22, 0x01,
+0x01, 0x0A, 0x18, 0x22, 0x01,
+0x01, 0x02, 0x19, 0x22, 0x01,
+0x00, 0xFA, 0x1A, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x38, 0x00, 0xE2, 0x01,
+0x01, 0x50, 0x00, 0xF2, 0x01,
+0x01, 0x7A, 0x20, 0x20, 0x01,
+0x01, 0x72, 0x21, 0x22, 0x01,
+0x01, 0x62, 0x20, 0x34, 0x01,
+0x01, 0x5A, 0x21, 0x22, 0x01,
+0x01, 0x3A, 0x1D, 0x22, 0x01,
+0x01, 0x32, 0x1E, 0x22, 0x01,
+0x01, 0x2A, 0x1F, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x68, 0x00, 0xE2, 0x01,
+0x01, 0x80, 0x00, 0xF2, 0x01,
+0x01, 0xAA, 0x25, 0x20, 0x01,
+0x01, 0xA2, 0x26, 0x22, 0x01,
+0x01, 0x92, 0x25, 0x34, 0x01,
+0x01, 0x8A, 0x26, 0x22, 0x01,
+0x01, 0x6A, 0x22, 0x22, 0x01,
+0x01, 0x62, 0x23, 0x22, 0x01,
+0x01, 0x5A, 0x24, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x98, 0x00, 0xE2, 0x01,
+0x01, 0xB0, 0x00, 0xF2, 0x01,
+0x01, 0xF2, 0x0C, 0x20, 0x01,
+0x01, 0xEA, 0x0D, 0x22, 0x01,
+0x01, 0xDA, 0x0C, 0x34, 0x01,
+0x01, 0xD2, 0x0D, 0x22, 0x01,
+0x01, 0xCA, 0x09, 0x22, 0x01,
+0x01, 0xC2, 0x0A, 0x22, 0x01,
+0x01, 0xBA, 0x0B, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0xE0, 0x00, 0xE2, 0x01,
+0x01, 0xF8, 0x00, 0xF2, 0x01,
+0x02, 0x22, 0x11, 0x20, 0x01,
+0x02, 0x1A, 0x12, 0x22, 0x01,
+0x02, 0x0A, 0x11, 0x34, 0x01,
+0x02, 0x02, 0x12, 0x22, 0x01,
+0x01, 0xE2, 0x0E, 0x22, 0x01,
+0x01, 0xDA, 0x0F, 0x22, 0x01,
+0x01, 0xD2, 0x10, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x10, 0x00, 0xE2, 0x01,
+0x02, 0x28, 0x00, 0xF2, 0x01,
+0x02, 0x52, 0x16, 0x20, 0x01,
+0x02, 0x4A, 0x17, 0x22, 0x01,
+0x02, 0x3A, 0x16, 0x34, 0x01,
+0x02, 0x32, 0x17, 0x22, 0x01,
+0x02, 0x12, 0x13, 0x22, 0x01,
+0x02, 0x0A, 0x14, 0x22, 0x01,
+0x02, 0x02, 0x15, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x40, 0x00, 0xE2, 0x01,
+0x02, 0x58, 0x00, 0xF2, 0x01,
+0x02, 0x82, 0x1B, 0x20, 0x01,
+0x02, 0x7A, 0x1C, 0x22, 0x01,
+0x02, 0x6A, 0x1B, 0x34, 0x01,
+0x02, 0x62, 0x1C, 0x22, 0x01,
+0x02, 0x42, 0x18, 0x22, 0x01,
+0x02, 0x3A, 0x19, 0x22, 0x01,
+0x02, 0x32, 0x1A, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x70, 0x00, 0xE2, 0x01,
+0x02, 0x88, 0x00, 0xF2, 0x01,
+0x02, 0xB2, 0x20, 0x20, 0x01,
+0x02, 0xAA, 0x21, 0x22, 0x01,
+0x02, 0x9A, 0x20, 0x34, 0x01,
+0x02, 0x92, 0x21, 0x22, 0x01,
+0x02, 0x72, 0x1D, 0x22, 0x01,
+0x02, 0x6A, 0x1E, 0x22, 0x01,
+0x02, 0x62, 0x1F, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0xA0, 0x00, 0xE2, 0x01,
+0x02, 0xB8, 0x00, 0xF2, 0x01,
+0x02, 0xE2, 0x25, 0x20, 0x01,
+0x02, 0xDA, 0x26, 0x22, 0x01,
+0x02, 0xCA, 0x25, 0x34, 0x01,
+0x02, 0xC2, 0x26, 0x22, 0x01,
+0x02, 0xA2, 0x22, 0x22, 0x01,
+0x02, 0x9A, 0x23, 0x22, 0x01,
+0x02, 0x92, 0x24, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0xD0, 0x00, 0xE2, 0x01,
+0x02, 0xE8, 0x00, 0xF2, 0x01,
+0x01, 0x9A, 0x27, 0x20, 0x01,
+0x02, 0xF0, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0xD2, 0x28, 0x20, 0x01,
+0x02, 0xF8, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0xF1, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x58, 0x00, 0xF0, 0x01,
+0xFF, 0xE9, 0x08, 0x22, 0x01,
+0x03, 0x50, 0x00, 0xF2, 0x01,
+0x03, 0x41, 0x08, 0x20, 0x01,
+0x03, 0x42, 0x35, 0x22, 0x41,
+0x03, 0x52, 0x35, 0x22, 0x01,
+0x03, 0x31, 0x08, 0x34, 0x01,
+0x03, 0x32, 0x35, 0x22, 0x41,
+0x03, 0x5A, 0x35, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x38, 0x00, 0xE2, 0x01,
+0x03, 0x48, 0x00, 0xF2, 0x01,
+0x03, 0x60, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x31, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x29, 0x20, 0x01,
+0xFF, 0xF2, 0x2A, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x62, 0x2B, 0x20, 0x01,
+0xFF, 0xF2, 0x2C, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x32, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x2D, 0x20, 0x01,
+0xFF, 0xF2, 0x2E, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x33, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x2F, 0x20, 0x01,
+0xFF, 0xF2, 0x30, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x00, 0x02, 0x34, 0xA0, 0x01,
+0xFF, 0xE7, 0xFF, 0x20, 0x01,
+0x03, 0x28, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x29, 0x08, 0x40, 0x01,
+0xFF, 0xF1, 0x08, 0x20, 0x09,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x28, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x29, 0x08, 0x40, 0x01,
+0x03, 0x21, 0x08, 0x20, 0x09,
+0x03, 0x2A, 0x36, 0x20, 0x01,
+0x03, 0x22, 0x36, 0x22, 0x41,
+0x03, 0x21, 0x08, 0x22, 0x01,
+0x03, 0x28, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x29, 0x08, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x37, 0x22, 0x49,
+0xFF, 0xF1, 0x08, 0x20, 0x01,
+0xFF, 0xE9, 0x08, 0x20, 0x25,
+0x03, 0x10, 0x00, 0xE2, 0x01,
+0x03, 0x28, 0x00, 0xC0, 0x01,
+0x02, 0xF7, 0xFF, 0x20, 0x01,
+0x03, 0x08, 0x00, 0xE2, 0x01,
+0x02, 0xF9, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x58, 0x00, 0xF0, 0x01,
+0xFF, 0xE9, 0x08, 0x22, 0x01,
+0x03, 0x50, 0x00, 0xF2, 0x01,
+0x03, 0xA1, 0x08, 0x20, 0x01,
+0x03, 0xA2, 0x44, 0x22, 0x41,
+0x03, 0x52, 0x44, 0x22, 0x01,
+0x03, 0x91, 0x08, 0x34, 0x01,
+0x03, 0x92, 0x44, 0x22, 0x41,
+0x03, 0x5A, 0x44, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x98, 0x00, 0xE2, 0x01,
+0x03, 0xA8, 0x00, 0xF2, 0x01,
+0x03, 0x60, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x40, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x38, 0x20, 0x01,
+0xFF, 0xF2, 0x39, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x62, 0x3A, 0x20, 0x01,
+0xFF, 0xF2, 0x3B, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x41, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x3C, 0x20, 0x01,
+0xFF, 0xF2, 0x3D, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x42, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x3E, 0x20, 0x01,
+0xFF, 0xF2, 0x3F, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x00, 0x02, 0x43, 0xA0, 0x01,
+0xFF, 0xE7, 0xFF, 0x20, 0x01,
+0x03, 0x88, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x89, 0x08, 0x40, 0x01,
+0xFF, 0xF1, 0x08, 0x20, 0x09,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x88, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x89, 0x08, 0x40, 0x01,
+0x03, 0x81, 0x08, 0x20, 0x09,
+0x03, 0x8A, 0x45, 0x20, 0x01,
+0x03, 0x82, 0x45, 0x22, 0x41,
+0x03, 0x81, 0x08, 0x22, 0x01,
+0x03, 0x88, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x89, 0x08, 0x20, 0x01,
+0x03, 0x78, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x46, 0x22, 0x49,
+0xFF, 0xF1, 0x08, 0x20, 0x01,
+0xFF, 0xE9, 0x08, 0x20, 0x25,
+0x03, 0x70, 0x00, 0xE2, 0x01,
+0x03, 0x88, 0x00, 0xC0, 0x01,
+0x02, 0xFF, 0xFF, 0x20, 0x01,
+0x03, 0x68, 0x00, 0xE2, 0x01,
+0x03, 0x69, 0x08, 0x20, 0x01,
+0xFF, 0x30, 0x00, 0x02, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+};
+
+/* DSP Parameter (Coefficient) Data */
+#define PARAM_SIZE_IC_1 4096
+#define PARAM_ADDR_IC_1 0
+ADI_REG_TYPE Param_Data_IC_1[PARAM_SIZE_IC_1] = {
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x6C, 0xAC,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x7F, 0xC3, 0x65,
+0x0F, 0x00, 0x79, 0x35,
+0x00, 0x7F, 0xC3, 0x65,
+0x00, 0xFF, 0x86, 0xAE,
+0x0F, 0x80, 0x79, 0x19,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x0F, 0xFE, 0x2B, 0xE3,
+0x00, 0x22, 0xBE, 0x2C,
+0x0F, 0xEA, 0xAA, 0xAB,
+0x00, 0x6A, 0xAA, 0xAB,
+0x0F, 0x9A, 0x69, 0xA7,
+0x00, 0xFD, 0xF7, 0xDF,
+0x08, 0x3C, 0x6C, 0x20,
+0x03, 0xF5, 0xAA, 0x23,
+0x01, 0x80, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00,
+0x00, 0x33, 0x33, 0x33,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x07, 0xDC,
+0x00, 0x00, 0x08, 0x00,
+0x00, 0x7F, 0xF0, 0x00,
+0x0F, 0xFE, 0x2B, 0xE3,
+0x00, 0x22, 0xBE, 0x2C,
+0x0F, 0xEA, 0xAA, 0xAB,
+0x00, 0x6A, 0xAA, 0xAB,
+0x0F, 0x9A, 0x69, 0xA7,
+0x00, 0xFD, 0xF7, 0xDF,
+0x08, 0x3C, 0x6C, 0x20,
+0x03, 0xF5, 0xAA, 0x23,
+0x01, 0x80, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00,
+0x00, 0x33, 0x33, 0x33,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x07, 0xDC,
+0x00, 0x00, 0x08, 0x00,
+0x00, 0x7F, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+};
+
+
+/* Register Default - IC 1.CoreRegister */
+ADI_REG_TYPE R0_COREREGISTER_IC_1_Default[REG_COREREGISTER_IC_1_BYTE] = {
+0x00, 0x18
+};
+
+/* Register Default - IC 1.HWConFiguration */
+#define R3_HWCONFIGURATION_IC_1_SIZE 24
+ADI_REG_TYPE R3_HWCONFIGURATION_IC_1_Default[R3_HWCONFIGURATION_IC_1_SIZE] = {
+0x00, 0x18, 0x08, 0x08, 0x00, 0x00, 0x44, 0x00, 0x44, 0x44, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
+};
+
+/* Register Default - IC 1.CoreRegister */
+ADI_REG_TYPE R4_COREREGISTER_IC_1_Default[REG_COREREGISTER_IC_1_BYTE] = {
+0x00, 0x1C
+};
+
+
+/*
+ * Default Download
+ */
+#define DEFAULT_DOWNLOAD_SIZE_IC_1 5
+
+void default_download_IC_1() {
+ SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, REG_COREREGISTER_IC_1_ADDR, REG_COREREGISTER_IC_1_BYTE, R0_COREREGISTER_IC_1_Default );
+ SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, PROGRAM_ADDR_IC_1, PROGRAM_SIZE_IC_1, Program_Data_IC_1 );
+ SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, PARAM_ADDR_IC_1, PARAM_SIZE_IC_1, Param_Data_IC_1 );
+ SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, REG_COREREGISTER_IC_1_ADDR , R3_HWCONFIGURATION_IC_1_SIZE, R3_HWCONFIGURATION_IC_1_Default );
+ SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, REG_COREREGISTER_IC_1_ADDR, REG_COREREGISTER_IC_1_BYTE, R4_COREREGISTER_IC_1_Default );
+}
+
+#endif
diff --git a/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1_PARAM.h b/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1_PARAM.h
new file mode 100644
index 0000000..ad6221e
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1_PARAM.h
@@ -0,0 +1,459 @@
+/*
+ * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadioTest\DigiRadio_IC_1_PARAM.h
+ *
+ * Created: Thursday, August 6, 2026 1:57:25 PM
+ * Description: DigiRadio:IC 1 parameter RAM definitions.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * This software may only be used to program products purchased from
+ * Analog Devices for incorporation by you into audio products that
+ * are intended for resale to audio product end users. This software
+ * may not be distributed whole or in any part to third parties.
+ *
+ * Copyright ©2026 Analog Devices, Inc. All rights reserved.
+ */
+#ifndef __DIGIRADIO_IC_1_PARAM_H__
+#define __DIGIRADIO_IC_1_PARAM_H__
+
+
+/* Module Beep1 - Beep Sources*/
+#define COUNT_BEEP1 3
+#define DEVICE_BEEP1 "IC1"
+#define ADDR_BEEP1_ENABLE 0
+#define FIXPT_BEEP1_ENABLE 0x00000000
+#define VALUE_BEEP1_ENABLE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_BEEP1_ENABLE SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_BEEP1_KICK 1
+#define FIXPT_BEEP1_KICK 0x00000000
+#define VALUE_BEEP1_KICK SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_BEEP1_KICK SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_BEEP1_BEEP_FREQ 2
+#define FIXPT_BEEP1_BEEP_FREQ 0x00006CAB
+#define VALUE_BEEP1_BEEP_FREQ SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.00331636677280911)
+#define TYPE_BEEP1_BEEP_FREQ SIGMASTUDIOTYPE_FIXPOINT
+
+/* Module Si4674 - Multiple Volume Control*/
+#define COUNT_SI4674 2
+#define DEVICE_SI4674 "IC1"
+#define ADDR_SI4674 3
+#define FIXPT_SI4674 0x00800000
+#define VALUE_SI4674 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_SI4674 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_SI4674_1 4
+#define FIXPT_SI4674_1 0x00800000
+#define VALUE_SI4674_1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_SI4674_1 SIGMASTUDIOTYPE_FIXPOINT
+
+/* Module ESP32 - Multiple Volume Control*/
+#define COUNT_ESP32 2
+#define DEVICE_ESP32 "IC1"
+#define ADDR_ESP32 5
+#define FIXPT_ESP32 0x00800000
+#define VALUE_ESP32 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_ESP32 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_ESP32_1 6
+#define FIXPT_ESP32_1 0x00800000
+#define VALUE_ESP32_1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_ESP32_1 SIGMASTUDIOTYPE_FIXPOINT
+
+/* Module St Mixer1 - Stereo Mixer*/
+#define COUNT_STMIXER1 2
+#define DEVICE_STMIXER1 "IC1"
+#define ADDR_STMIXER1_ST0_VOLUME 7
+#define FIXPT_STMIXER1_ST0_VOLUME 0x00800000
+#define VALUE_STMIXER1_ST0_VOLUME SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_STMIXER1_ST0_VOLUME SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_STMIXER1_ST1_VOLUME 8
+#define FIXPT_STMIXER1_ST1_VOLUME 0x00800000
+#define VALUE_STMIXER1_ST1_VOLUME SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_STMIXER1_ST1_VOLUME SIGMASTUDIOTYPE_FIXPOINT
+
+/* Module Param EQ1 - Parametric EQ*/
+#define COUNT_PARAMEQ1 60
+#define DEVICE_PARAMEQ1 "IC1"
+#define ADDR_PARAMEQ1_ST0_B0 9
+#define FIXPT_PARAMEQ1_ST0_B0 0x007FC365
+#define VALUE_PARAMEQ1_ST0_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998150511190452)
+#define TYPE_PARAMEQ1_ST0_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_B0 9
+#define FIXPT_PARAMEQ1_ST0_B0 0x007FC365
+#define VALUE_PARAMEQ1_ST0_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998150511190452)
+#define TYPE_PARAMEQ1_ST0_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_B1 10
+#define FIXPT_PARAMEQ1_ST0_B1 0xFF007936
+#define VALUE_PARAMEQ1_ST0_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-1.9963010223809)
+#define TYPE_PARAMEQ1_ST0_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_B1 10
+#define FIXPT_PARAMEQ1_ST0_B1 0xFF007936
+#define VALUE_PARAMEQ1_ST0_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-1.9963010223809)
+#define TYPE_PARAMEQ1_ST0_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_B2 11
+#define FIXPT_PARAMEQ1_ST0_B2 0x007FC365
+#define VALUE_PARAMEQ1_ST0_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998150511190452)
+#define TYPE_PARAMEQ1_ST0_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_B2 11
+#define FIXPT_PARAMEQ1_ST0_B2 0x007FC365
+#define VALUE_PARAMEQ1_ST0_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998150511190452)
+#define TYPE_PARAMEQ1_ST0_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_A0 12
+#define FIXPT_PARAMEQ1_ST0_A0 0x00FF86AE
+#define VALUE_PARAMEQ1_ST0_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.99629760176912)
+#define TYPE_PARAMEQ1_ST0_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_A0 12
+#define FIXPT_PARAMEQ1_ST0_A0 0x00FF86AE
+#define VALUE_PARAMEQ1_ST0_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.99629760176912)
+#define TYPE_PARAMEQ1_ST0_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_A1 13
+#define FIXPT_PARAMEQ1_ST0_A1 0xFF807919
+#define VALUE_PARAMEQ1_ST0_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.996304442992686)
+#define TYPE_PARAMEQ1_ST0_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST0_A1 13
+#define FIXPT_PARAMEQ1_ST0_A1 0xFF807919
+#define VALUE_PARAMEQ1_ST0_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.996304442992686)
+#define TYPE_PARAMEQ1_ST0_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_B0 14
+#define FIXPT_PARAMEQ1_ST1_B0 0x00800000
+#define VALUE_PARAMEQ1_ST1_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST1_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_B0 14
+#define FIXPT_PARAMEQ1_ST1_B0 0x00800000
+#define VALUE_PARAMEQ1_ST1_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST1_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_B1 15
+#define FIXPT_PARAMEQ1_ST1_B1 0x00000000
+#define VALUE_PARAMEQ1_ST1_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST1_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_B1 15
+#define FIXPT_PARAMEQ1_ST1_B1 0x00000000
+#define VALUE_PARAMEQ1_ST1_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST1_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_B2 16
+#define FIXPT_PARAMEQ1_ST1_B2 0x00000000
+#define VALUE_PARAMEQ1_ST1_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST1_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_B2 16
+#define FIXPT_PARAMEQ1_ST1_B2 0x00000000
+#define VALUE_PARAMEQ1_ST1_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST1_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_A0 17
+#define FIXPT_PARAMEQ1_ST1_A0 0x00000000
+#define VALUE_PARAMEQ1_ST1_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST1_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_A0 17
+#define FIXPT_PARAMEQ1_ST1_A0 0x00000000
+#define VALUE_PARAMEQ1_ST1_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST1_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_A1 18
+#define FIXPT_PARAMEQ1_ST1_A1 0x00000000
+#define VALUE_PARAMEQ1_ST1_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST1_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST1_A1 18
+#define FIXPT_PARAMEQ1_ST1_A1 0x00000000
+#define VALUE_PARAMEQ1_ST1_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST1_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_B0 19
+#define FIXPT_PARAMEQ1_ST2_B0 0x00800000
+#define VALUE_PARAMEQ1_ST2_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST2_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_B0 19
+#define FIXPT_PARAMEQ1_ST2_B0 0x00800000
+#define VALUE_PARAMEQ1_ST2_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST2_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_B1 20
+#define FIXPT_PARAMEQ1_ST2_B1 0x00000000
+#define VALUE_PARAMEQ1_ST2_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST2_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_B1 20
+#define FIXPT_PARAMEQ1_ST2_B1 0x00000000
+#define VALUE_PARAMEQ1_ST2_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST2_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_B2 21
+#define FIXPT_PARAMEQ1_ST2_B2 0x00000000
+#define VALUE_PARAMEQ1_ST2_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST2_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_B2 21
+#define FIXPT_PARAMEQ1_ST2_B2 0x00000000
+#define VALUE_PARAMEQ1_ST2_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST2_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_A0 22
+#define FIXPT_PARAMEQ1_ST2_A0 0x00000000
+#define VALUE_PARAMEQ1_ST2_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST2_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_A0 22
+#define FIXPT_PARAMEQ1_ST2_A0 0x00000000
+#define VALUE_PARAMEQ1_ST2_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST2_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_A1 23
+#define FIXPT_PARAMEQ1_ST2_A1 0x00000000
+#define VALUE_PARAMEQ1_ST2_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST2_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST2_A1 23
+#define FIXPT_PARAMEQ1_ST2_A1 0x00000000
+#define VALUE_PARAMEQ1_ST2_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST2_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_B0 24
+#define FIXPT_PARAMEQ1_ST3_B0 0x00800000
+#define VALUE_PARAMEQ1_ST3_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST3_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_B0 24
+#define FIXPT_PARAMEQ1_ST3_B0 0x00800000
+#define VALUE_PARAMEQ1_ST3_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST3_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_B1 25
+#define FIXPT_PARAMEQ1_ST3_B1 0x00000000
+#define VALUE_PARAMEQ1_ST3_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST3_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_B1 25
+#define FIXPT_PARAMEQ1_ST3_B1 0x00000000
+#define VALUE_PARAMEQ1_ST3_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST3_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_B2 26
+#define FIXPT_PARAMEQ1_ST3_B2 0x00000000
+#define VALUE_PARAMEQ1_ST3_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST3_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_B2 26
+#define FIXPT_PARAMEQ1_ST3_B2 0x00000000
+#define VALUE_PARAMEQ1_ST3_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST3_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_A0 27
+#define FIXPT_PARAMEQ1_ST3_A0 0x00000000
+#define VALUE_PARAMEQ1_ST3_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST3_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_A0 27
+#define FIXPT_PARAMEQ1_ST3_A0 0x00000000
+#define VALUE_PARAMEQ1_ST3_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST3_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_A1 28
+#define FIXPT_PARAMEQ1_ST3_A1 0x00000000
+#define VALUE_PARAMEQ1_ST3_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST3_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST3_A1 28
+#define FIXPT_PARAMEQ1_ST3_A1 0x00000000
+#define VALUE_PARAMEQ1_ST3_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST3_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_B0 29
+#define FIXPT_PARAMEQ1_ST4_B0 0x00800000
+#define VALUE_PARAMEQ1_ST4_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST4_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_B0 29
+#define FIXPT_PARAMEQ1_ST4_B0 0x00800000
+#define VALUE_PARAMEQ1_ST4_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST4_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_B1 30
+#define FIXPT_PARAMEQ1_ST4_B1 0x00000000
+#define VALUE_PARAMEQ1_ST4_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST4_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_B1 30
+#define FIXPT_PARAMEQ1_ST4_B1 0x00000000
+#define VALUE_PARAMEQ1_ST4_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST4_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_B2 31
+#define FIXPT_PARAMEQ1_ST4_B2 0x00000000
+#define VALUE_PARAMEQ1_ST4_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST4_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_B2 31
+#define FIXPT_PARAMEQ1_ST4_B2 0x00000000
+#define VALUE_PARAMEQ1_ST4_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST4_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_A0 32
+#define FIXPT_PARAMEQ1_ST4_A0 0x00000000
+#define VALUE_PARAMEQ1_ST4_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST4_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_A0 32
+#define FIXPT_PARAMEQ1_ST4_A0 0x00000000
+#define VALUE_PARAMEQ1_ST4_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST4_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_A1 33
+#define FIXPT_PARAMEQ1_ST4_A1 0x00000000
+#define VALUE_PARAMEQ1_ST4_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST4_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST4_A1 33
+#define FIXPT_PARAMEQ1_ST4_A1 0x00000000
+#define VALUE_PARAMEQ1_ST4_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST4_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_B0 34
+#define FIXPT_PARAMEQ1_ST5_B0 0x00800000
+#define VALUE_PARAMEQ1_ST5_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST5_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_B0 34
+#define FIXPT_PARAMEQ1_ST5_B0 0x00800000
+#define VALUE_PARAMEQ1_ST5_B0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_PARAMEQ1_ST5_B0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_B1 35
+#define FIXPT_PARAMEQ1_ST5_B1 0x00000000
+#define VALUE_PARAMEQ1_ST5_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST5_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_B1 35
+#define FIXPT_PARAMEQ1_ST5_B1 0x00000000
+#define VALUE_PARAMEQ1_ST5_B1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST5_B1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_B2 36
+#define FIXPT_PARAMEQ1_ST5_B2 0x00000000
+#define VALUE_PARAMEQ1_ST5_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST5_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_B2 36
+#define FIXPT_PARAMEQ1_ST5_B2 0x00000000
+#define VALUE_PARAMEQ1_ST5_B2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST5_B2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_A0 37
+#define FIXPT_PARAMEQ1_ST5_A0 0x00000000
+#define VALUE_PARAMEQ1_ST5_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST5_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_A0 37
+#define FIXPT_PARAMEQ1_ST5_A0 0x00000000
+#define VALUE_PARAMEQ1_ST5_A0 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST5_A0 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_A1 38
+#define FIXPT_PARAMEQ1_ST5_A1 0x00000000
+#define VALUE_PARAMEQ1_ST5_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST5_A1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_PARAMEQ1_ST5_A1 38
+#define FIXPT_PARAMEQ1_ST5_A1 0x00000000
+#define VALUE_PARAMEQ1_ST5_A1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
+#define TYPE_PARAMEQ1_ST5_A1 SIGMASTUDIOTYPE_FIXPOINT
+
+/* Module Multiple 1 - Multiple Volume Control*/
+#define COUNT_MULTIPLE1 2
+#define DEVICE_MULTIPLE1 "IC1"
+#define ADDR_MULTIPLE1 39
+#define FIXPT_MULTIPLE1 0x00800000
+#define VALUE_MULTIPLE1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_MULTIPLE1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_MULTIPLE1_1 40
+#define FIXPT_MULTIPLE1_1 0x00800000
+#define VALUE_MULTIPLE1_1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_MULTIPLE1_1 SIGMASTUDIOTYPE_FIXPOINT
+
+/* Module Limiter 1 - Limiter*/
+#define COUNT_LIMITER1 15
+#define DEVICE_LIMITER1 "IC1"
+#define ADDR_LIMITER1_S1 41
+#define FIXPT_LIMITER1_S1 0xFFFE2BE3
+#define VALUE_LIMITER1_S1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.01428571428571)
+#define TYPE_LIMITER1_S1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_INT1 42
+#define FIXPT_LIMITER1_INT1 0x0022BE2B
+#define VALUE_LIMITER1_INT1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.27142857142857)
+#define TYPE_LIMITER1_INT1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_S2 43
+#define FIXPT_LIMITER1_S2 0xFFEAAAAB
+#define VALUE_LIMITER1_S2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.16666666666667)
+#define TYPE_LIMITER1_S2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_INT2 44
+#define FIXPT_LIMITER1_INT2 0x006AAAAA
+#define VALUE_LIMITER1_INT2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.8333333333333)
+#define TYPE_LIMITER1_INT2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_S3 45
+#define FIXPT_LIMITER1_S3 0xFF9A69A7
+#define VALUE_LIMITER1_S3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.79365079365079)
+#define TYPE_LIMITER1_S3 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_INT3 46
+#define FIXPT_LIMITER1_INT3 0x00FDF7DF
+#define VALUE_LIMITER1_INT3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.98412698412698)
+#define TYPE_LIMITER1_INT3 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_S4 47
+#define FIXPT_LIMITER1_S4 0xF83C6C20
+#define VALUE_LIMITER1_S4 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-15.527950310559)
+#define TYPE_LIMITER1_S4 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_INT4 48
+#define FIXPT_LIMITER1_INT4 0x03F5AA22
+#define VALUE_LIMITER1_INT4 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(7.91925465838509)
+#define TYPE_LIMITER1_INT4 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_C1 49
+#define FIXPT_LIMITER1_C1 0x01800000
+#define VALUE_LIMITER1_C1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(3)
+#define TYPE_LIMITER1_C1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_C2 50
+#define FIXPT_LIMITER1_C2 0x01000000
+#define VALUE_LIMITER1_C2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(2)
+#define TYPE_LIMITER1_C2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_C3 51
+#define FIXPT_LIMITER1_C3 0x00333333
+#define VALUE_LIMITER1_C3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.4)
+#define TYPE_LIMITER1_C3 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_THRESHOLD 52
+#define FIXPT_LIMITER1_THRESHOLD 0x00800000
+#define VALUE_LIMITER1_THRESHOLD SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_LIMITER1_THRESHOLD SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_RMS 53
+#define FIXPT_LIMITER1_RMS 0x000007DC
+#define VALUE_LIMITER1_RMS SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.000239881380791562)
+#define TYPE_LIMITER1_RMS SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_DECAY 54
+#define FIXPT_LIMITER1_DECAY 0x00000800
+#define VALUE_LIMITER1_DECAY SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.000244140625)
+#define TYPE_LIMITER1_DECAY SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER1_DECAYCOMPLEMENT 55
+#define FIXPT_LIMITER1_DECAYCOMPLEMENT 0x007FF000
+#define VALUE_LIMITER1_DECAYCOMPLEMENT SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.99951171875)
+#define TYPE_LIMITER1_DECAYCOMPLEMENT SIGMASTUDIOTYPE_FIXPOINT
+
+/* Module Limiter 2 - Limiter*/
+#define COUNT_LIMITER2 15
+#define DEVICE_LIMITER2 "IC1"
+#define ADDR_LIMITER2_S1 56
+#define FIXPT_LIMITER2_S1 0xFFFE2BE3
+#define VALUE_LIMITER2_S1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.01428571428571)
+#define TYPE_LIMITER2_S1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_INT1 57
+#define FIXPT_LIMITER2_INT1 0x0022BE2B
+#define VALUE_LIMITER2_INT1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.27142857142857)
+#define TYPE_LIMITER2_INT1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_S2 58
+#define FIXPT_LIMITER2_S2 0xFFEAAAAB
+#define VALUE_LIMITER2_S2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.16666666666667)
+#define TYPE_LIMITER2_S2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_INT2 59
+#define FIXPT_LIMITER2_INT2 0x006AAAAA
+#define VALUE_LIMITER2_INT2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.8333333333333)
+#define TYPE_LIMITER2_INT2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_S3 60
+#define FIXPT_LIMITER2_S3 0xFF9A69A7
+#define VALUE_LIMITER2_S3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.79365079365079)
+#define TYPE_LIMITER2_S3 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_INT3 61
+#define FIXPT_LIMITER2_INT3 0x00FDF7DF
+#define VALUE_LIMITER2_INT3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.98412698412698)
+#define TYPE_LIMITER2_INT3 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_S4 62
+#define FIXPT_LIMITER2_S4 0xF83C6C20
+#define VALUE_LIMITER2_S4 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-15.527950310559)
+#define TYPE_LIMITER2_S4 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_INT4 63
+#define FIXPT_LIMITER2_INT4 0x03F5AA22
+#define VALUE_LIMITER2_INT4 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(7.91925465838509)
+#define TYPE_LIMITER2_INT4 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_C1 64
+#define FIXPT_LIMITER2_C1 0x01800000
+#define VALUE_LIMITER2_C1 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(3)
+#define TYPE_LIMITER2_C1 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_C2 65
+#define FIXPT_LIMITER2_C2 0x01000000
+#define VALUE_LIMITER2_C2 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(2)
+#define TYPE_LIMITER2_C2 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_C3 66
+#define FIXPT_LIMITER2_C3 0x00333333
+#define VALUE_LIMITER2_C3 SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.4)
+#define TYPE_LIMITER2_C3 SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_THRESHOLD 67
+#define FIXPT_LIMITER2_THRESHOLD 0x00800000
+#define VALUE_LIMITER2_THRESHOLD SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
+#define TYPE_LIMITER2_THRESHOLD SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_RMS 68
+#define FIXPT_LIMITER2_RMS 0x000007DC
+#define VALUE_LIMITER2_RMS SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.000239881380791562)
+#define TYPE_LIMITER2_RMS SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_DECAY 69
+#define FIXPT_LIMITER2_DECAY 0x00000800
+#define VALUE_LIMITER2_DECAY SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.000244140625)
+#define TYPE_LIMITER2_DECAY SIGMASTUDIOTYPE_FIXPOINT
+#define ADDR_LIMITER2_DECAYCOMPLEMENT 70
+#define FIXPT_LIMITER2_DECAYCOMPLEMENT 0x007FF000
+#define VALUE_LIMITER2_DECAYCOMPLEMENT SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.99951171875)
+#define TYPE_LIMITER2_DECAYCOMPLEMENT SIGMASTUDIOTYPE_FIXPOINT
+
+#endif
diff --git a/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1_REG.h b/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1_REG.h
new file mode 100644
index 0000000..cd3004e
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/DigiRadio_IC_1_REG.h
@@ -0,0 +1,565 @@
+/*
+ * File: C:\Users\mikbi\Documents\Allegati\Desktop\DigiRadioTest\DigiRadio_IC_1_REG.h
+ *
+ * Created: Thursday, August 6, 2026 1:57:25 PM
+ * Description: DigiRadio:IC 1 control register definitions.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * This software may only be used to program products purchased from
+ * Analog Devices for incorporation by you into audio products that
+ * are intended for resale to audio product end users. This software
+ * may not be distributed whole or in any part to third parties.
+ *
+ * Copyright ©2026 Analog Devices, Inc. All rights reserved.
+ */
+#ifndef __DIGIRADIO_IC_1_REG_H__
+#define __DIGIRADIO_IC_1_REG_H__
+
+
+/* InterfaceRegister0 - Registers (IC 1) */
+#define REG_INTERFACEREGISTER0_IC_1_ADDR 0x800
+#define REG_INTERFACEREGISTER0_IC_1_BYTE 4
+#define REG_INTERFACEREGISTER0_IC_1_VALUE 0x0
+
+/* InterfaceRegister1 - Registers (IC 1) */
+#define REG_INTERFACEREGISTER1_IC_1_ADDR 0x801
+#define REG_INTERFACEREGISTER1_IC_1_BYTE 4
+#define REG_INTERFACEREGISTER1_IC_1_VALUE 0x0
+
+/* InterfaceRegister2 - Registers (IC 1) */
+#define REG_INTERFACEREGISTER2_IC_1_ADDR 0x802
+#define REG_INTERFACEREGISTER2_IC_1_BYTE 4
+#define REG_INTERFACEREGISTER2_IC_1_VALUE 0x0
+
+/* InterfaceRegister3 - Registers (IC 1) */
+#define REG_INTERFACEREGISTER3_IC_1_ADDR 0x803
+#define REG_INTERFACEREGISTER3_IC_1_BYTE 4
+#define REG_INTERFACEREGISTER3_IC_1_VALUE 0x0
+
+/* InterfaceRegister4 - Registers (IC 1) */
+#define REG_INTERFACEREGISTER4_IC_1_ADDR 0x804
+#define REG_INTERFACEREGISTER4_IC_1_BYTE 4
+#define REG_INTERFACEREGISTER4_IC_1_VALUE 0x0
+
+/* InterfaceRegister5 - Registers (IC 1) */
+#define REG_INTERFACEREGISTER5_IC_1_ADDR 0x805
+#define REG_INTERFACEREGISTER5_IC_1_BYTE 4
+#define REG_INTERFACEREGISTER5_IC_1_VALUE 0x0
+
+/* InterfaceRegister6 - Registers (IC 1) */
+#define REG_INTERFACEREGISTER6_IC_1_ADDR 0x806
+#define REG_INTERFACEREGISTER6_IC_1_BYTE 4
+#define REG_INTERFACEREGISTER6_IC_1_VALUE 0x0
+
+/* InterfaceRegister7 - Registers (IC 1) */
+#define REG_INTERFACEREGISTER7_IC_1_ADDR 0x807
+#define REG_INTERFACEREGISTER7_IC_1_BYTE 4
+#define REG_INTERFACEREGISTER7_IC_1_VALUE 0x0
+
+/* GpioAllRegister - Registers (IC 1) */
+#define REG_GPIOALLREGISTER_IC_1_ADDR 0x808
+#define REG_GPIOALLREGISTER_IC_1_BYTE 2
+#define REG_GPIOALLREGISTER_IC_1_VALUE 0x0
+
+/* Adc0 - Registers (IC 1) */
+#define REG_ADC0_IC_1_ADDR 0x809
+#define REG_ADC0_IC_1_BYTE 1
+#define REG_ADC0_IC_1_VALUE 0x0
+
+/* Adc1 - Registers (IC 1) */
+#define REG_ADC1_IC_1_ADDR 0x80A
+#define REG_ADC1_IC_1_BYTE 1
+#define REG_ADC1_IC_1_VALUE 0x0
+
+/* Adc2 - Registers (IC 1) */
+#define REG_ADC2_IC_1_ADDR 0x80B
+#define REG_ADC2_IC_1_BYTE 1
+#define REG_ADC2_IC_1_VALUE 0x0
+
+/* Adc3 - Registers (IC 1) */
+#define REG_ADC3_IC_1_ADDR 0x80C
+#define REG_ADC3_IC_1_BYTE 1
+#define REG_ADC3_IC_1_VALUE 0x0
+
+/* CoreRegister - Registers (IC 1) */
+#define REG_COREREGISTER_IC_1_ADDR 0x81C
+#define REG_COREREGISTER_IC_1_BYTE 2
+#define REG_COREREGISTER_IC_1_VALUE 0x1C
+
+/* RAMRegister - Registers (IC 1) */
+#define REG_RAMREGISTER_IC_1_ADDR 0x81D
+#define REG_RAMREGISTER_IC_1_BYTE 1
+#define REG_RAMREGISTER_IC_1_VALUE 0x8
+
+/* SerialOutRegister1 - Registers (IC 1) */
+#define REG_SERIALOUTREGISTER1_IC_1_ADDR 0x81E
+#define REG_SERIALOUTREGISTER1_IC_1_BYTE 2
+#define REG_SERIALOUTREGISTER1_IC_1_VALUE 0x800
+
+/* SerialInputRegister - Registers (IC 1) */
+#define REG_SERIALINPUTREGISTER_IC_1_ADDR 0x81F
+#define REG_SERIALINPUTREGISTER_IC_1_BYTE 1
+#define REG_SERIALINPUTREGISTER_IC_1_VALUE 0x0
+
+/* MpCfg0 - Registers (IC 1) */
+#define REG_MPCFG0_IC_1_ADDR 0x820
+#define REG_MPCFG0_IC_1_BYTE 3
+#define REG_MPCFG0_IC_1_VALUE 0x440044
+
+/* MpCfg1 - Registers (IC 1) */
+#define REG_MPCFG1_IC_1_ADDR 0x821
+#define REG_MPCFG1_IC_1_BYTE 3
+#define REG_MPCFG1_IC_1_VALUE 0x440004
+
+/* AnalogPowerDownRegister - Registers (IC 1) */
+#define REG_ANALOGPOWERDOWNREGISTER_IC_1_ADDR 0x822
+#define REG_ANALOGPOWERDOWNREGISTER_IC_1_BYTE 2
+#define REG_ANALOGPOWERDOWNREGISTER_IC_1_VALUE 0x0
+
+/* TestRegister - Registers (IC 1) */
+#define REG_TESTREGISTER_IC_1_ADDR 0x823
+#define REG_TESTREGISTER_IC_1_BYTE 2
+#define REG_TESTREGISTER_IC_1_VALUE 0x0
+
+/* AnalogInterfaceRegister0 - Registers (IC 1) */
+#define REG_ANALOGINTERFACEREGISTER0_IC_1_ADDR 0x824
+#define REG_ANALOGINTERFACEREGISTER0_IC_1_BYTE 2
+#define REG_ANALOGINTERFACEREGISTER0_IC_1_VALUE 0x8000
+
+/* AnalogInterfaceRegister1 - Registers (IC 1) */
+#define REG_ANALOGINTERFACEREGISTER1_IC_1_ADDR 0x825
+#define REG_ANALOGINTERFACEREGISTER1_IC_1_BYTE 2
+#define REG_ANALOGINTERFACEREGISTER1_IC_1_VALUE 0x0
+
+/* AnalogInterfaceRegister2 - Registers (IC 1) */
+#define REG_ANALOGINTERFACEREGISTER2_IC_1_ADDR 0x826
+#define REG_ANALOGINTERFACEREGISTER2_IC_1_BYTE 2
+#define REG_ANALOGINTERFACEREGISTER2_IC_1_VALUE 0x0
+
+/* AnalogInterfaceRegister3 - Registers (IC 1) */
+#define REG_ANALOGINTERFACEREGISTER3_IC_1_ADDR 0x827
+#define REG_ANALOGINTERFACEREGISTER3_IC_1_BYTE 2
+#define REG_ANALOGINTERFACEREGISTER3_IC_1_VALUE 0x1
+
+
+/*
+ *
+ * Control register's field descriptions
+ *
+ */
+
+/* InterfaceRegister0 (IC 1) */
+#define R0_INTERFACEREGISTER0_IC_1 0x00000000 /* 00000000000000000000000000000000b [31:0] */
+#define R0_INTERFACEREGISTER0_IC_1_MASK 0xFFFFFFFF
+#define R0_INTERFACEREGISTER0_IC_1_SHIFT 0
+
+/* InterfaceRegister1 (IC 1) */
+#define R1_INTERFACEREGISTER1_IC_1 0x00000000 /* 00000000000000000000000000000000b [31:0] */
+#define R1_INTERFACEREGISTER1_IC_1_MASK 0xFFFFFFFF
+#define R1_INTERFACEREGISTER1_IC_1_SHIFT 0
+
+/* InterfaceRegister2 (IC 1) */
+#define R2_INTERFACEREGISTER2_IC_1 0x00000000 /* 00000000000000000000000000000000b [31:0] */
+#define R2_INTERFACEREGISTER2_IC_1_MASK 0xFFFFFFFF
+#define R2_INTERFACEREGISTER2_IC_1_SHIFT 0
+
+/* InterfaceRegister3 (IC 1) */
+#define R3_INTERFACEREGISTER3_IC_1 0x00000000 /* 00000000000000000000000000000000b [31:0] */
+#define R3_INTERFACEREGISTER3_IC_1_MASK 0xFFFFFFFF
+#define R3_INTERFACEREGISTER3_IC_1_SHIFT 0
+
+/* InterfaceRegister4 (IC 1) */
+#define R4_INTERFACEREGISTER4_IC_1 0x00000000 /* 00000000000000000000000000000000b [31:0] */
+#define R4_INTERFACEREGISTER4_IC_1_MASK 0xFFFFFFFF
+#define R4_INTERFACEREGISTER4_IC_1_SHIFT 0
+
+/* InterfaceRegister5 (IC 1) */
+#define R5_INTERFACEREGISTER5_IC_1 0x00000000 /* 00000000000000000000000000000000b [31:0] */
+#define R5_INTERFACEREGISTER5_IC_1_MASK 0xFFFFFFFF
+#define R5_INTERFACEREGISTER5_IC_1_SHIFT 0
+
+/* InterfaceRegister6 (IC 1) */
+#define R6_INTERFACEREGISTER6_IC_1 0x00000000 /* 00000000000000000000000000000000b [31:0] */
+#define R6_INTERFACEREGISTER6_IC_1_MASK 0xFFFFFFFF
+#define R6_INTERFACEREGISTER6_IC_1_SHIFT 0
+
+/* InterfaceRegister7 (IC 1) */
+#define R7_INTERFACEREGISTER7_IC_1 0x00000000 /* 00000000000000000000000000000000b [31:0] */
+#define R7_INTERFACEREGISTER7_IC_1_MASK 0xFFFFFFFF
+#define R7_INTERFACEREGISTER7_IC_1_SHIFT 0
+
+/* GpioAllRegister (IC 1) */
+#define R8_PIN0_IC_1 0x0 /* 0b [0] */
+#define R8_PIN1_IC_1 0x0 /* 0b [1] */
+#define R8_PIN2_IC_1 0x0 /* 0b [2] */
+#define R8_PIN3_IC_1 0x0 /* 0b [3] */
+#define R8_PIN4_IC_1 0x0 /* 0b [4] */
+#define R8_PIN5_IC_1 0x0 /* 0b [5] */
+#define R8_PIN6_IC_1 0x0 /* 0b [6] */
+#define R8_PIN7_IC_1 0x0 /* 0b [7] */
+#define R8_PIN8_IC_1 0x0 /* 0b [8] */
+#define R8_PIN9_IC_1 0x0 /* 0b [9] */
+#define R8_PIN10_IC_1 0x0 /* 0b [10] */
+#define R8_PIN11_IC_1 0x0 /* 0b [11] */
+#define R8_PIN0_IC_1_MASK 0x1
+#define R8_PIN0_IC_1_SHIFT 0
+#define R8_PIN1_IC_1_MASK 0x2
+#define R8_PIN1_IC_1_SHIFT 1
+#define R8_PIN2_IC_1_MASK 0x4
+#define R8_PIN2_IC_1_SHIFT 2
+#define R8_PIN3_IC_1_MASK 0x8
+#define R8_PIN3_IC_1_SHIFT 3
+#define R8_PIN4_IC_1_MASK 0x10
+#define R8_PIN4_IC_1_SHIFT 4
+#define R8_PIN5_IC_1_MASK 0x20
+#define R8_PIN5_IC_1_SHIFT 5
+#define R8_PIN6_IC_1_MASK 0x40
+#define R8_PIN6_IC_1_SHIFT 6
+#define R8_PIN7_IC_1_MASK 0x80
+#define R8_PIN7_IC_1_SHIFT 7
+#define R8_PIN8_IC_1_MASK 0x100
+#define R8_PIN8_IC_1_SHIFT 8
+#define R8_PIN9_IC_1_MASK 0x200
+#define R8_PIN9_IC_1_SHIFT 9
+#define R8_PIN10_IC_1_MASK 0x400
+#define R8_PIN10_IC_1_SHIFT 10
+#define R8_PIN11_IC_1_MASK 0x800
+#define R8_PIN11_IC_1_SHIFT 11
+
+/* Adc0 (IC 1) */
+#define R9_ADC0_IC_1 0x00 /* 00000000b [7:0] */
+#define R9_ADC0_IC_1_MASK 0xFF
+#define R9_ADC0_IC_1_SHIFT 0
+
+/* Adc1 (IC 1) */
+#define R10_ADC1_IC_1 0x00 /* 00000000b [7:0] */
+#define R10_ADC1_IC_1_MASK 0xFF
+#define R10_ADC1_IC_1_SHIFT 0
+
+/* Adc2 (IC 1) */
+#define R11_ADC2_IC_1 0x00 /* 00000000b [7:0] */
+#define R11_ADC2_IC_1_MASK 0xFF
+#define R11_ADC2_IC_1_SHIFT 0
+
+/* Adc3 (IC 1) */
+#define R12_ADC3_IC_1 0x00 /* 00000000b [7:0] */
+#define R12_ADC3_IC_1_MASK 0xFF
+#define R12_ADC3_IC_1_SHIFT 0
+
+/* CoreRegister (IC 1) */
+#define R13_PROGRAM_LENGTH_IC_1 0x0 /* 00b [1:0] */
+#define R13_REGISTER_ZERO_IC_1 0x1 /* 1b [2] */
+#define R13_MUTE_DAC_IC_1 0x1 /* 1b [3] */
+#define R13_MUTE_ADC_IC_1 0x1 /* 1b [4] */
+#define R13_SAFELOAD_IC_1 0x0 /* 0b [5] */
+#define R13_WRITESPI_INTERFACEREG_IC_1 0x0 /* 0b [6] */
+#define R13_WRITESPI_GPIO_IC_1 0x0 /* 0b [7] */
+#define R13_WRITESPI_ADC_IC_1 0x0 /* 0b [8] */
+#define R13_MUTE_SERIALIN_IC_1 0x0 /* 0b [9] */
+#define R13_GPIO_DEBOUNCE_IC_1 0x0 /* 00b [11:10] */
+#define R13_EXTMEM_SPEED_IC_1 0x0 /* 00b [13:12] */
+#define R13_PROGRAM_LENGTH_IC_1_MASK 0x3
+#define R13_PROGRAM_LENGTH_IC_1_SHIFT 0
+#define R13_REGISTER_ZERO_IC_1_MASK 0x4
+#define R13_REGISTER_ZERO_IC_1_SHIFT 2
+#define R13_MUTE_DAC_IC_1_MASK 0x8
+#define R13_MUTE_DAC_IC_1_SHIFT 3
+#define R13_MUTE_ADC_IC_1_MASK 0x10
+#define R13_MUTE_ADC_IC_1_SHIFT 4
+#define R13_SAFELOAD_IC_1_MASK 0x20
+#define R13_SAFELOAD_IC_1_SHIFT 5
+#define R13_WRITESPI_INTERFACEREG_IC_1_MASK 0x40
+#define R13_WRITESPI_INTERFACEREG_IC_1_SHIFT 6
+#define R13_WRITESPI_GPIO_IC_1_MASK 0x80
+#define R13_WRITESPI_GPIO_IC_1_SHIFT 7
+#define R13_WRITESPI_ADC_IC_1_MASK 0x100
+#define R13_WRITESPI_ADC_IC_1_SHIFT 8
+#define R13_MUTE_SERIALIN_IC_1_MASK 0x200
+#define R13_MUTE_SERIALIN_IC_1_SHIFT 9
+#define R13_GPIO_DEBOUNCE_IC_1_MASK 0xC00
+#define R13_GPIO_DEBOUNCE_IC_1_SHIFT 10
+#define R13_EXTMEM_SPEED_IC_1_MASK 0x3000
+#define R13_EXTMEM_SPEED_IC_1_SHIFT 12
+
+/* RAMRegister (IC 1) */
+#define R14_RAM_MODULO_IC_1 0x8 /* 1000b [3:0] */
+#define R14_RAM_MODULO_IC_1_MASK 0xF
+#define R14_RAM_MODULO_IC_1_SHIFT 0
+
+/* SerialOutRegister1 (IC 1) */
+#define R15_WORDLENGTH_IC_1 0x0 /* 00b [1:0] */
+#define R15_MSB_POS_IC_1 0x0 /* 000b [4:2] */
+#define R15_TDM_IC_1 0x0 /* 0b [5] */
+#define R15_FRAMESYNC_TYPE_IC_1 0x0 /* 0b [6] */
+#define R15_LRCLK_FREQ_IC_1 0x0 /* 00b [8:7] */
+#define R15_BCLK_FREQ_IC_1 0x0 /* 00b [10:9] */
+#define R15_MASTER_SLAVE_IC_1 0x1 /* 1b [11] */
+#define R15_BCLK_POLARITY_IC_1 0x0 /* 0b [12] */
+#define R15_LRCLK_POLARITY_IC_1 0x0 /* 0b [13] */
+#define R15_WORDLENGTH_IC_1_MASK 0x3
+#define R15_WORDLENGTH_IC_1_SHIFT 0
+#define R15_MSB_POS_IC_1_MASK 0x1C
+#define R15_MSB_POS_IC_1_SHIFT 2
+#define R15_TDM_IC_1_MASK 0x20
+#define R15_TDM_IC_1_SHIFT 5
+#define R15_FRAMESYNC_TYPE_IC_1_MASK 0x40
+#define R15_FRAMESYNC_TYPE_IC_1_SHIFT 6
+#define R15_LRCLK_FREQ_IC_1_MASK 0x180
+#define R15_LRCLK_FREQ_IC_1_SHIFT 7
+#define R15_BCLK_FREQ_IC_1_MASK 0x600
+#define R15_BCLK_FREQ_IC_1_SHIFT 9
+#define R15_MASTER_SLAVE_IC_1_MASK 0x800
+#define R15_MASTER_SLAVE_IC_1_SHIFT 11
+#define R15_BCLK_POLARITY_IC_1_MASK 0x1000
+#define R15_BCLK_POLARITY_IC_1_SHIFT 12
+#define R15_LRCLK_POLARITY_IC_1_MASK 0x2000
+#define R15_LRCLK_POLARITY_IC_1_SHIFT 13
+
+/* SerialInputRegister (IC 1) */
+#define R16_INPUT_MODE_IC_1 0x0 /* 000b [2:0] */
+#define R16_BCLK_POLARITY_IC_1 0x0 /* 0b [3] */
+#define R16_LRCLK_POLARITY_IC_1 0x0 /* 0b [4] */
+#define R16_INPUT_MODE_IC_1_MASK 0x7
+#define R16_INPUT_MODE_IC_1_SHIFT 0
+#define R16_BCLK_POLARITY_IC_1_MASK 0x8
+#define R16_BCLK_POLARITY_IC_1_SHIFT 3
+#define R16_LRCLK_POLARITY_IC_1_MASK 0x10
+#define R16_LRCLK_POLARITY_IC_1_SHIFT 4
+
+/* MpCfg0 (IC 1) */
+#define R17_MFSELECT0_IC_1 0x4 /* 100b [2:0] */
+#define R17_MFINVERT0_IC_1 0x0 /* 0b [3] */
+#define R17_MFSELECT1_IC_1 0x4 /* 100b [6:4] */
+#define R17_MFINVERT1_IC_1 0x0 /* 0b [7] */
+#define R17_MFSELECT2_IC_1 0x0 /* 000b [10:8] */
+#define R17_MFINVERT2_IC_1 0x0 /* 0b [11] */
+#define R17_MFSELECT3_IC_1 0x0 /* 000b [14:12] */
+#define R17_MFINVERT3_IC_1 0x0 /* 0b [15] */
+#define R17_MFSELECT4_IC_1 0x4 /* 100b [18:16] */
+#define R17_MFINVERT4_IC_1 0x0 /* 0b [19] */
+#define R17_MFSELECT5_IC_1 0x4 /* 100b [22:20] */
+#define R17_MFINVERT5_IC_1 0x0 /* 0b [23] */
+#define R17_MFSELECT0_IC_1_MASK 0x7
+#define R17_MFSELECT0_IC_1_SHIFT 0
+#define R17_MFINVERT0_IC_1_MASK 0x8
+#define R17_MFINVERT0_IC_1_SHIFT 3
+#define R17_MFSELECT1_IC_1_MASK 0x70
+#define R17_MFSELECT1_IC_1_SHIFT 4
+#define R17_MFINVERT1_IC_1_MASK 0x80
+#define R17_MFINVERT1_IC_1_SHIFT 7
+#define R17_MFSELECT2_IC_1_MASK 0x700
+#define R17_MFSELECT2_IC_1_SHIFT 8
+#define R17_MFINVERT2_IC_1_MASK 0x800
+#define R17_MFINVERT2_IC_1_SHIFT 11
+#define R17_MFSELECT3_IC_1_MASK 0x7000
+#define R17_MFSELECT3_IC_1_SHIFT 12
+#define R17_MFINVERT3_IC_1_MASK 0x8000
+#define R17_MFINVERT3_IC_1_SHIFT 15
+#define R17_MFSELECT4_IC_1_MASK 0x70000
+#define R17_MFSELECT4_IC_1_SHIFT 16
+#define R17_MFINVERT4_IC_1_MASK 0x80000
+#define R17_MFINVERT4_IC_1_SHIFT 19
+#define R17_MFSELECT5_IC_1_MASK 0x700000
+#define R17_MFSELECT5_IC_1_SHIFT 20
+#define R17_MFINVERT5_IC_1_MASK 0x800000
+#define R17_MFINVERT5_IC_1_SHIFT 23
+
+/* MpCfg1 (IC 1) */
+#define R18_MFSELECT6_IC_1 0x4 /* 100b [2:0] */
+#define R18_MFINVERT6_IC_1 0x0 /* 0b [3] */
+#define R18_MFSELECT7_IC_1 0x0 /* 000b [6:4] */
+#define R18_MFINVERT7_IC_1 0x0 /* 0b [7] */
+#define R18_MFSELECT8_IC_1 0x0 /* 000b [10:8] */
+#define R18_MFINVERT8_IC_1 0x0 /* 0b [11] */
+#define R18_MFSELECT9_IC_1 0x0 /* 000b [14:12] */
+#define R18_MFINVERT9_IC_1 0x0 /* 0b [15] */
+#define R18_MFSELECT10_IC_1 0x4 /* 100b [18:16] */
+#define R18_MFINVERT10_IC_1 0x0 /* 0b [19] */
+#define R18_MFSELECT11_IC_1 0x4 /* 100b [22:20] */
+#define R18_MFINVERT11_IC_1 0x0 /* 0b [23] */
+#define R18_MFSELECT6_IC_1_MASK 0x7
+#define R18_MFSELECT6_IC_1_SHIFT 0
+#define R18_MFINVERT6_IC_1_MASK 0x8
+#define R18_MFINVERT6_IC_1_SHIFT 3
+#define R18_MFSELECT7_IC_1_MASK 0x70
+#define R18_MFSELECT7_IC_1_SHIFT 4
+#define R18_MFINVERT7_IC_1_MASK 0x80
+#define R18_MFINVERT7_IC_1_SHIFT 7
+#define R18_MFSELECT8_IC_1_MASK 0x700
+#define R18_MFSELECT8_IC_1_SHIFT 8
+#define R18_MFINVERT8_IC_1_MASK 0x800
+#define R18_MFINVERT8_IC_1_SHIFT 11
+#define R18_MFSELECT9_IC_1_MASK 0x7000
+#define R18_MFSELECT9_IC_1_SHIFT 12
+#define R18_MFINVERT9_IC_1_MASK 0x8000
+#define R18_MFINVERT9_IC_1_SHIFT 15
+#define R18_MFSELECT10_IC_1_MASK 0x70000
+#define R18_MFSELECT10_IC_1_SHIFT 16
+#define R18_MFINVERT10_IC_1_MASK 0x80000
+#define R18_MFINVERT10_IC_1_SHIFT 19
+#define R18_MFSELECT11_IC_1_MASK 0x700000
+#define R18_MFSELECT11_IC_1_SHIFT 20
+#define R18_MFINVERT11_IC_1_MASK 0x800000
+#define R18_MFINVERT11_IC_1_SHIFT 23
+
+/* AnalogPowerDownRegister (IC 1) */
+#define R19_DAC3_POWERDOWN_IC_1 0x0 /* 0b [0] */
+#define R19_DAC2_POWERDOWN_IC_1 0x0 /* 0b [1] */
+#define R19_DAC1_POWERDOWN_IC_1 0x0 /* 0b [2] */
+#define R19_DAC0_POWERDOWN_IC_1 0x0 /* 0b [3] */
+#define R19_DACS_RESET_IC_1 0x0 /* 0b [4] */
+#define R19_REF_CORE_POWERDOWN_IC_1 0x0 /* 0b [5] */
+#define R19_REF_BUF_POWERDOWN_IC_1 0x0 /* 0b [6] */
+#define R19_ADCS_POWERDOWN_IC_1 0x0 /* 0b [7] */
+#define R19_AUX_ADC_FILTER_IC_1 0x0 /* 000b [10:8] */
+#define R19_DAC3_POWERDOWN_IC_1_MASK 0x1
+#define R19_DAC3_POWERDOWN_IC_1_SHIFT 0
+#define R19_DAC2_POWERDOWN_IC_1_MASK 0x2
+#define R19_DAC2_POWERDOWN_IC_1_SHIFT 1
+#define R19_DAC1_POWERDOWN_IC_1_MASK 0x4
+#define R19_DAC1_POWERDOWN_IC_1_SHIFT 2
+#define R19_DAC0_POWERDOWN_IC_1_MASK 0x8
+#define R19_DAC0_POWERDOWN_IC_1_SHIFT 3
+#define R19_DACS_RESET_IC_1_MASK 0x10
+#define R19_DACS_RESET_IC_1_SHIFT 4
+#define R19_REF_CORE_POWERDOWN_IC_1_MASK 0x20
+#define R19_REF_CORE_POWERDOWN_IC_1_SHIFT 5
+#define R19_REF_BUF_POWERDOWN_IC_1_MASK 0x40
+#define R19_REF_BUF_POWERDOWN_IC_1_SHIFT 6
+#define R19_ADCS_POWERDOWN_IC_1_MASK 0x80
+#define R19_ADCS_POWERDOWN_IC_1_SHIFT 7
+#define R19_AUX_ADC_FILTER_IC_1_MASK 0x700
+#define R19_AUX_ADC_FILTER_IC_1_SHIFT 8
+
+/* TestRegister (IC 1) */
+#define R20_ADCCLOCKDELAY_IC_1 0x0 /* 000b [2:0] */
+#define R20_ADCSYNCFILTL_SDATAA_D_IC_1 0x0 /* 0b [3] */
+#define R20_ADCSYNCFILTR_SDATAA_D_IC_1 0x0 /* 0b [4] */
+#define R20_SPIKEFILT_SEROUT0_1_IC_1 0x0 /* 0b [5] */
+#define R20_UNUSED_IC_1 0x00 /* 0000000000b [15:6] */
+#define R20_ADCCLOCKDELAY_IC_1_MASK 0x7
+#define R20_ADCCLOCKDELAY_IC_1_SHIFT 0
+#define R20_ADCSYNCFILTL_SDATAA_D_IC_1_MASK 0x8
+#define R20_ADCSYNCFILTL_SDATAA_D_IC_1_SHIFT 3
+#define R20_ADCSYNCFILTR_SDATAA_D_IC_1_MASK 0x10
+#define R20_ADCSYNCFILTR_SDATAA_D_IC_1_SHIFT 4
+#define R20_SPIKEFILT_SEROUT0_1_IC_1_MASK 0x20
+#define R20_SPIKEFILT_SEROUT0_1_IC_1_SHIFT 5
+#define R20_UNUSED_IC_1_MASK 0xFFC0
+#define R20_UNUSED_IC_1_SHIFT 6
+
+/* AnalogInterfaceRegister0 (IC 1) */
+#define R21_CHOP_ENB_INT_AMP_IC_1 0x0 /* 0b [0] */
+#define R21_PD_INT_AMP_IC_1 0x0 /* 0b [1] */
+#define R21_ADC_NON_OVERLAP_ADJ_IC_1 0x0 /* 0b [2] */
+#define R21_ADC_I_SEL_IC_1 0x0 /* 00000b [7:3] */
+#define R21_ADC_CLK_ADJ_IC_1 0x0 /* 000b [10:8] */
+#define R21_LCHOP_PMOS_CTRL_IC_1 0x0 /* 00b [12:11] */
+#define R21_LCHOP_AMP_ENB_IC_1 0x0 /* 0b [13] */
+#define R21_LSCRAM_ENB_IC_1 0x0 /* 0b [14] */
+#define R21_AUX_ADC_EN_IC_1 0x1 /* 1b [15] */
+#define R21_CHOP_ENB_INT_AMP_IC_1_MASK 0x1
+#define R21_CHOP_ENB_INT_AMP_IC_1_SHIFT 0
+#define R21_PD_INT_AMP_IC_1_MASK 0x2
+#define R21_PD_INT_AMP_IC_1_SHIFT 1
+#define R21_ADC_NON_OVERLAP_ADJ_IC_1_MASK 0x4
+#define R21_ADC_NON_OVERLAP_ADJ_IC_1_SHIFT 2
+#define R21_ADC_I_SEL_IC_1_MASK 0xF8
+#define R21_ADC_I_SEL_IC_1_SHIFT 3
+#define R21_ADC_CLK_ADJ_IC_1_MASK 0x700
+#define R21_ADC_CLK_ADJ_IC_1_SHIFT 8
+#define R21_LCHOP_PMOS_CTRL_IC_1_MASK 0x1800
+#define R21_LCHOP_PMOS_CTRL_IC_1_SHIFT 11
+#define R21_LCHOP_AMP_ENB_IC_1_MASK 0x2000
+#define R21_LCHOP_AMP_ENB_IC_1_SHIFT 13
+#define R21_LSCRAM_ENB_IC_1_MASK 0x4000
+#define R21_LSCRAM_ENB_IC_1_SHIFT 14
+#define R21_AUX_ADC_EN_IC_1_MASK 0x8000
+#define R21_AUX_ADC_EN_IC_1_SHIFT 15
+
+/* AnalogInterfaceRegister1 (IC 1) */
+#define R22_RSWC_DAC_CTRL_IC_1 0x0 /* 00b [1:0] */
+#define R22_RCLK_SEL_PMOS_IC_1 0x0 /* 00b [3:2] */
+#define R22_RCLK_SEL_AMP_IC_1 0x0 /* 00b [5:4] */
+#define R22_RCHOP_PMOS_CTRL_IC_1 0x0 /* 00b [7:6] */
+#define R22_LCLK_SEL_PMOS_IC_1 0x0 /* 00b [9:8] */
+#define R22_LSWC_DAC_CTRL_IC_1 0x0 /* 00b [11:10] */
+#define R22_CLK_SEL_INT_AMP_IC_1 0x0 /* 00b [13:12] */
+#define R22_RSWC_DAC_CTRL_IC_1_MASK 0x3
+#define R22_RSWC_DAC_CTRL_IC_1_SHIFT 0
+#define R22_RCLK_SEL_PMOS_IC_1_MASK 0xC
+#define R22_RCLK_SEL_PMOS_IC_1_SHIFT 2
+#define R22_RCLK_SEL_AMP_IC_1_MASK 0x30
+#define R22_RCLK_SEL_AMP_IC_1_SHIFT 4
+#define R22_RCHOP_PMOS_CTRL_IC_1_MASK 0xC0
+#define R22_RCHOP_PMOS_CTRL_IC_1_SHIFT 6
+#define R22_LCLK_SEL_PMOS_IC_1_MASK 0x300
+#define R22_LCLK_SEL_PMOS_IC_1_SHIFT 8
+#define R22_LSWC_DAC_CTRL_IC_1_MASK 0xC00
+#define R22_LSWC_DAC_CTRL_IC_1_SHIFT 10
+#define R22_CLK_SEL_INT_AMP_IC_1_MASK 0x3000
+#define R22_CLK_SEL_INT_AMP_IC_1_SHIFT 12
+
+/* AnalogInterfaceRegister2 (IC 1) */
+#define R23_UNUSED_IC_1 0x0 /* 0b [0] */
+#define R23_ADC_DITHER_EN_IC_1 0x0 /* 0b [1] */
+#define R23_XTAL_ENB_IC_1 0x0 /* 0b [2] */
+#define R23_PLL_PD_IC_1 0x0 /* 0b [3] */
+#define R23_IBIAS_TO_PIN_IC_1 0x0 /* 0b [4] */
+#define R23_IBIAS_ADJ_IC_1 0x0 /* 0000b [8:5] */
+#define R23_VREF_TRIM_IC_1 0x0 /* 0000b [12:9] */
+#define R23_REF_I_SEL_IC_1 0x0 /* 0b [13] */
+#define R23_RSCRAM_ENB_IC_1 0x0 /* 0b [14] */
+#define R23_LCHOP_AMP_ENB_IC_1 0x0 /* 0b [15] */
+#define R23_UNUSED_IC_1_MASK 0x1
+#define R23_UNUSED_IC_1_SHIFT 0
+#define R23_ADC_DITHER_EN_IC_1_MASK 0x2
+#define R23_ADC_DITHER_EN_IC_1_SHIFT 1
+#define R23_XTAL_ENB_IC_1_MASK 0x4
+#define R23_XTAL_ENB_IC_1_SHIFT 2
+#define R23_PLL_PD_IC_1_MASK 0x8
+#define R23_PLL_PD_IC_1_SHIFT 3
+#define R23_IBIAS_TO_PIN_IC_1_MASK 0x10
+#define R23_IBIAS_TO_PIN_IC_1_SHIFT 4
+#define R23_IBIAS_ADJ_IC_1_MASK 0x1E0
+#define R23_IBIAS_ADJ_IC_1_SHIFT 5
+#define R23_VREF_TRIM_IC_1_MASK 0x1E00
+#define R23_VREF_TRIM_IC_1_SHIFT 9
+#define R23_REF_I_SEL_IC_1_MASK 0x2000
+#define R23_REF_I_SEL_IC_1_SHIFT 13
+#define R23_RSCRAM_ENB_IC_1_MASK 0x4000
+#define R23_RSCRAM_ENB_IC_1_SHIFT 14
+#define R23_LCHOP_AMP_ENB_IC_1_MASK 0x8000
+#define R23_LCHOP_AMP_ENB_IC_1_SHIFT 15
+
+/* AnalogInterfaceRegister3 (IC 1) */
+#define R24_DAC_OFFSET_IC_1 0x1 /* 01b [1:0] */
+#define R24_DAC_DITHER_ENABLE_IC_1 0x0 /* 0b [2] */
+#define R24_PCTRL_IC_1 0x0 /* 00b [4:3] */
+#define R24_DAC_PCLK_SEL_IC_1 0x0 /* 00b [6:5] */
+#define R24_DAC_I_SEL_IC_1 0x0 /* 0000b [10:7] */
+#define R24_DAC_CLK_SEL_IC_1 0x0 /* 00b [12:11] */
+#define R24_DAC_CHOP_ENB_IC_1 0x0 /* 0b [13] */
+#define R24_DAC_DRTZ_IC_1 0x0 /* 00b [15:14] */
+#define R24_DAC_OFFSET_IC_1_MASK 0x3
+#define R24_DAC_OFFSET_IC_1_SHIFT 0
+#define R24_DAC_DITHER_ENABLE_IC_1_MASK 0x4
+#define R24_DAC_DITHER_ENABLE_IC_1_SHIFT 2
+#define R24_PCTRL_IC_1_MASK 0x18
+#define R24_PCTRL_IC_1_SHIFT 3
+#define R24_DAC_PCLK_SEL_IC_1_MASK 0x60
+#define R24_DAC_PCLK_SEL_IC_1_SHIFT 5
+#define R24_DAC_I_SEL_IC_1_MASK 0x780
+#define R24_DAC_I_SEL_IC_1_SHIFT 7
+#define R24_DAC_CLK_SEL_IC_1_MASK 0x1800
+#define R24_DAC_CLK_SEL_IC_1_SHIFT 11
+#define R24_DAC_CHOP_ENB_IC_1_MASK 0x2000
+#define R24_DAC_CHOP_ENB_IC_1_SHIFT 13
+#define R24_DAC_DRTZ_IC_1_MASK 0xC000
+#define R24_DAC_DRTZ_IC_1_SHIFT 14
+
+#endif
diff --git a/Software/Sigmastudio/DigiRadioTest/DigiRadio_NetList.xml b/Software/Sigmastudio/DigiRadioTest/DigiRadio_NetList.xml
new file mode 100644
index 0000000..009ac47
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/DigiRadio_NetList.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Software/Sigmastudio/DigiRadioTest/NumBytes_IC_1.dat b/Software/Sigmastudio/DigiRadioTest/NumBytes_IC_1.dat
new file mode 100644
index 0000000..8ced699
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/NumBytes_IC_1.dat
@@ -0,0 +1,5 @@
+4,
+5122,
+4098,
+26,
+4,
diff --git a/Software/Sigmastudio/DigiRadioTest/TxBuffer_IC_1.dat b/Software/Sigmastudio/DigiRadioTest/TxBuffer_IC_1.dat
new file mode 100644
index 0000000..d95dd36
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/TxBuffer_IC_1.dat
@@ -0,0 +1,2060 @@
+0x08, 0x1C, /* (0) IC 1.CoreRegister */
+0x00, 0x18,
+0x04, 0x00, /* (1) Program Data */
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x08, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x10, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x18, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x20, 0x00, 0xE8, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x28, 0x00, 0xE8, 0x01,
+0x00, 0x02, 0x01, 0xA0, 0x01,
+0xFF, 0xE1, 0x07, 0x20, 0x01,
+0x00, 0x38, 0x00, 0xE2, 0x01,
+0x00, 0x42, 0x02, 0x20, 0x01,
+0x00, 0x52, 0x00, 0x22, 0x01,
+0x00, 0x58, 0x00, 0xE2, 0x01,
+0x00, 0x42, 0x00, 0x20, 0x01,
+0x00, 0x59, 0x08, 0x22, 0x41,
+0x00, 0x39, 0x08, 0x22, 0x01,
+0x00, 0x31, 0x08, 0x22, 0x41,
+0x00, 0x48, 0x00, 0xE2, 0x01,
+0x00, 0x12, 0x03, 0x20, 0x01,
+0x00, 0x60, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x1A, 0x04, 0x20, 0x01,
+0x00, 0x68, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x22, 0x05, 0x20, 0x01,
+0x00, 0x70, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x2A, 0x06, 0x20, 0x01,
+0x00, 0x78, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x59, 0x08, 0x20, 0x01,
+0xFF, 0x28, 0x00, 0x02, 0x01,
+0x00, 0x62, 0x07, 0x20, 0x01,
+0x00, 0x6A, 0x07, 0x40, 0x01,
+0x00, 0x72, 0x08, 0x22, 0x01,
+0x00, 0x7A, 0x08, 0x44, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x90, 0x00, 0xE2, 0x01,
+0x01, 0xC8, 0x00, 0xE4, 0x01,
+0x00, 0xBA, 0x0C, 0x20, 0x01,
+0x00, 0xB2, 0x0D, 0x22, 0x01,
+0x00, 0xA2, 0x0C, 0x34, 0x01,
+0x00, 0x9A, 0x0D, 0x22, 0x01,
+0x00, 0x92, 0x09, 0x22, 0x01,
+0x00, 0x8A, 0x0A, 0x22, 0x01,
+0x00, 0x82, 0x0B, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0xA8, 0x00, 0xE2, 0x01,
+0x00, 0xC0, 0x00, 0xF2, 0x01,
+0x00, 0xEA, 0x11, 0x20, 0x01,
+0x00, 0xE2, 0x12, 0x22, 0x01,
+0x00, 0xD2, 0x11, 0x34, 0x01,
+0x00, 0xCA, 0x12, 0x22, 0x01,
+0x00, 0xAA, 0x0E, 0x22, 0x01,
+0x00, 0xA2, 0x0F, 0x22, 0x01,
+0x00, 0x9A, 0x10, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0xD8, 0x00, 0xE2, 0x01,
+0x00, 0xF0, 0x00, 0xF2, 0x01,
+0x01, 0x1A, 0x16, 0x20, 0x01,
+0x01, 0x12, 0x17, 0x22, 0x01,
+0x01, 0x02, 0x16, 0x34, 0x01,
+0x00, 0xFA, 0x17, 0x22, 0x01,
+0x00, 0xDA, 0x13, 0x22, 0x01,
+0x00, 0xD2, 0x14, 0x22, 0x01,
+0x00, 0xCA, 0x15, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x08, 0x00, 0xE2, 0x01,
+0x01, 0x20, 0x00, 0xF2, 0x01,
+0x01, 0x4A, 0x1B, 0x20, 0x01,
+0x01, 0x42, 0x1C, 0x22, 0x01,
+0x01, 0x32, 0x1B, 0x34, 0x01,
+0x01, 0x2A, 0x1C, 0x22, 0x01,
+0x01, 0x0A, 0x18, 0x22, 0x01,
+0x01, 0x02, 0x19, 0x22, 0x01,
+0x00, 0xFA, 0x1A, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x38, 0x00, 0xE2, 0x01,
+0x01, 0x50, 0x00, 0xF2, 0x01,
+0x01, 0x7A, 0x20, 0x20, 0x01,
+0x01, 0x72, 0x21, 0x22, 0x01,
+0x01, 0x62, 0x20, 0x34, 0x01,
+0x01, 0x5A, 0x21, 0x22, 0x01,
+0x01, 0x3A, 0x1D, 0x22, 0x01,
+0x01, 0x32, 0x1E, 0x22, 0x01,
+0x01, 0x2A, 0x1F, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x68, 0x00, 0xE2, 0x01,
+0x01, 0x80, 0x00, 0xF2, 0x01,
+0x01, 0xAA, 0x25, 0x20, 0x01,
+0x01, 0xA2, 0x26, 0x22, 0x01,
+0x01, 0x92, 0x25, 0x34, 0x01,
+0x01, 0x8A, 0x26, 0x22, 0x01,
+0x01, 0x6A, 0x22, 0x22, 0x01,
+0x01, 0x62, 0x23, 0x22, 0x01,
+0x01, 0x5A, 0x24, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x98, 0x00, 0xE2, 0x01,
+0x01, 0xB0, 0x00, 0xF2, 0x01,
+0x01, 0xF2, 0x0C, 0x20, 0x01,
+0x01, 0xEA, 0x0D, 0x22, 0x01,
+0x01, 0xDA, 0x0C, 0x34, 0x01,
+0x01, 0xD2, 0x0D, 0x22, 0x01,
+0x01, 0xCA, 0x09, 0x22, 0x01,
+0x01, 0xC2, 0x0A, 0x22, 0x01,
+0x01, 0xBA, 0x0B, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0xE0, 0x00, 0xE2, 0x01,
+0x01, 0xF8, 0x00, 0xF2, 0x01,
+0x02, 0x22, 0x11, 0x20, 0x01,
+0x02, 0x1A, 0x12, 0x22, 0x01,
+0x02, 0x0A, 0x11, 0x34, 0x01,
+0x02, 0x02, 0x12, 0x22, 0x01,
+0x01, 0xE2, 0x0E, 0x22, 0x01,
+0x01, 0xDA, 0x0F, 0x22, 0x01,
+0x01, 0xD2, 0x10, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x10, 0x00, 0xE2, 0x01,
+0x02, 0x28, 0x00, 0xF2, 0x01,
+0x02, 0x52, 0x16, 0x20, 0x01,
+0x02, 0x4A, 0x17, 0x22, 0x01,
+0x02, 0x3A, 0x16, 0x34, 0x01,
+0x02, 0x32, 0x17, 0x22, 0x01,
+0x02, 0x12, 0x13, 0x22, 0x01,
+0x02, 0x0A, 0x14, 0x22, 0x01,
+0x02, 0x02, 0x15, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x40, 0x00, 0xE2, 0x01,
+0x02, 0x58, 0x00, 0xF2, 0x01,
+0x02, 0x82, 0x1B, 0x20, 0x01,
+0x02, 0x7A, 0x1C, 0x22, 0x01,
+0x02, 0x6A, 0x1B, 0x34, 0x01,
+0x02, 0x62, 0x1C, 0x22, 0x01,
+0x02, 0x42, 0x18, 0x22, 0x01,
+0x02, 0x3A, 0x19, 0x22, 0x01,
+0x02, 0x32, 0x1A, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x70, 0x00, 0xE2, 0x01,
+0x02, 0x88, 0x00, 0xF2, 0x01,
+0x02, 0xB2, 0x20, 0x20, 0x01,
+0x02, 0xAA, 0x21, 0x22, 0x01,
+0x02, 0x9A, 0x20, 0x34, 0x01,
+0x02, 0x92, 0x21, 0x22, 0x01,
+0x02, 0x72, 0x1D, 0x22, 0x01,
+0x02, 0x6A, 0x1E, 0x22, 0x01,
+0x02, 0x62, 0x1F, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0xA0, 0x00, 0xE2, 0x01,
+0x02, 0xB8, 0x00, 0xF2, 0x01,
+0x02, 0xE2, 0x25, 0x20, 0x01,
+0x02, 0xDA, 0x26, 0x22, 0x01,
+0x02, 0xCA, 0x25, 0x34, 0x01,
+0x02, 0xC2, 0x26, 0x22, 0x01,
+0x02, 0xA2, 0x22, 0x22, 0x01,
+0x02, 0x9A, 0x23, 0x22, 0x01,
+0x02, 0x92, 0x24, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0xD0, 0x00, 0xE2, 0x01,
+0x02, 0xE8, 0x00, 0xF2, 0x01,
+0x01, 0x9A, 0x27, 0x20, 0x01,
+0x02, 0xF0, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0xD2, 0x28, 0x20, 0x01,
+0x02, 0xF8, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0xF1, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x58, 0x00, 0xF0, 0x01,
+0xFF, 0xE9, 0x08, 0x22, 0x01,
+0x03, 0x50, 0x00, 0xF2, 0x01,
+0x03, 0x41, 0x08, 0x20, 0x01,
+0x03, 0x42, 0x35, 0x22, 0x41,
+0x03, 0x52, 0x35, 0x22, 0x01,
+0x03, 0x31, 0x08, 0x34, 0x01,
+0x03, 0x32, 0x35, 0x22, 0x41,
+0x03, 0x5A, 0x35, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x38, 0x00, 0xE2, 0x01,
+0x03, 0x48, 0x00, 0xF2, 0x01,
+0x03, 0x60, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x31, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x29, 0x20, 0x01,
+0xFF, 0xF2, 0x2A, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x62, 0x2B, 0x20, 0x01,
+0xFF, 0xF2, 0x2C, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x32, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x2D, 0x20, 0x01,
+0xFF, 0xF2, 0x2E, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x33, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x2F, 0x20, 0x01,
+0xFF, 0xF2, 0x30, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x00, 0x02, 0x34, 0xA0, 0x01,
+0xFF, 0xE7, 0xFF, 0x20, 0x01,
+0x03, 0x28, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x29, 0x08, 0x40, 0x01,
+0xFF, 0xF1, 0x08, 0x20, 0x09,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x28, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x29, 0x08, 0x40, 0x01,
+0x03, 0x21, 0x08, 0x20, 0x09,
+0x03, 0x2A, 0x36, 0x20, 0x01,
+0x03, 0x22, 0x36, 0x22, 0x41,
+0x03, 0x21, 0x08, 0x22, 0x01,
+0x03, 0x28, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x29, 0x08, 0x20, 0x01,
+0x03, 0x18, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x37, 0x22, 0x49,
+0xFF, 0xF1, 0x08, 0x20, 0x01,
+0xFF, 0xE9, 0x08, 0x20, 0x25,
+0x03, 0x10, 0x00, 0xE2, 0x01,
+0x03, 0x28, 0x00, 0xC0, 0x01,
+0x02, 0xF7, 0xFF, 0x20, 0x01,
+0x03, 0x08, 0x00, 0xE2, 0x01,
+0x02, 0xF9, 0x08, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x58, 0x00, 0xF0, 0x01,
+0xFF, 0xE9, 0x08, 0x22, 0x01,
+0x03, 0x50, 0x00, 0xF2, 0x01,
+0x03, 0xA1, 0x08, 0x20, 0x01,
+0x03, 0xA2, 0x44, 0x22, 0x41,
+0x03, 0x52, 0x44, 0x22, 0x01,
+0x03, 0x91, 0x08, 0x34, 0x01,
+0x03, 0x92, 0x44, 0x22, 0x41,
+0x03, 0x5A, 0x44, 0x22, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x98, 0x00, 0xE2, 0x01,
+0x03, 0xA8, 0x00, 0xF2, 0x01,
+0x03, 0x60, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x40, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x38, 0x20, 0x01,
+0xFF, 0xF2, 0x39, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x62, 0x3A, 0x20, 0x01,
+0xFF, 0xF2, 0x3B, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x41, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x3C, 0x20, 0x01,
+0xFF, 0xF2, 0x3D, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0xFF, 0xF2, 0x42, 0x40, 0x01,
+0x03, 0x61, 0x08, 0x20, 0x09,
+0x03, 0x62, 0x3E, 0x20, 0x01,
+0xFF, 0xF2, 0x3F, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x03, 0x67, 0xFF, 0x20, 0x41,
+0xFF, 0xF1, 0x07, 0x22, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x07, 0xFF, 0x20, 0x01,
+0x03, 0x00, 0x00, 0xE2, 0x01,
+0x03, 0x00, 0x00, 0xC0, 0x01,
+0x00, 0x02, 0x43, 0xA0, 0x01,
+0xFF, 0xE7, 0xFF, 0x20, 0x01,
+0x03, 0x88, 0x00, 0xE2, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x89, 0x08, 0x40, 0x01,
+0xFF, 0xF1, 0x08, 0x20, 0x09,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x88, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x89, 0x08, 0x40, 0x01,
+0x03, 0x81, 0x08, 0x20, 0x09,
+0x03, 0x8A, 0x45, 0x20, 0x01,
+0x03, 0x82, 0x45, 0x22, 0x41,
+0x03, 0x81, 0x08, 0x22, 0x01,
+0x03, 0x88, 0x00, 0xE2, 0x23,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x03, 0x89, 0x08, 0x20, 0x01,
+0x03, 0x78, 0x00, 0xE2, 0x01,
+0xFF, 0xF2, 0x46, 0x22, 0x49,
+0xFF, 0xF1, 0x08, 0x20, 0x01,
+0xFF, 0xE9, 0x08, 0x20, 0x25,
+0x03, 0x70, 0x00, 0xE2, 0x01,
+0x03, 0x88, 0x00, 0xC0, 0x01,
+0x02, 0xFF, 0xFF, 0x20, 0x01,
+0x03, 0x68, 0x00, 0xE2, 0x01,
+0x03, 0x69, 0x08, 0x20, 0x01,
+0xFF, 0x30, 0x00, 0x02, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, /* (2) Param */
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x6C, 0xAC,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x7F, 0xC3, 0x65,
+0x0F, 0x00, 0x79, 0x35,
+0x00, 0x7F, 0xC3, 0x65,
+0x00, 0xFF, 0x86, 0xAE,
+0x0F, 0x80, 0x79, 0x19,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00,
+0x0F, 0xFE, 0x2B, 0xE3,
+0x00, 0x22, 0xBE, 0x2C,
+0x0F, 0xEA, 0xAA, 0xAB,
+0x00, 0x6A, 0xAA, 0xAB,
+0x0F, 0x9A, 0x69, 0xA7,
+0x00, 0xFD, 0xF7, 0xDF,
+0x08, 0x3C, 0x6C, 0x20,
+0x03, 0xF5, 0xAA, 0x23,
+0x01, 0x80, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00,
+0x00, 0x33, 0x33, 0x33,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x07, 0xDC,
+0x00, 0x00, 0x08, 0x00,
+0x00, 0x7F, 0xF0, 0x00,
+0x0F, 0xFE, 0x2B, 0xE3,
+0x00, 0x22, 0xBE, 0x2C,
+0x0F, 0xEA, 0xAA, 0xAB,
+0x00, 0x6A, 0xAA, 0xAB,
+0x0F, 0x9A, 0x69, 0xA7,
+0x00, 0xFD, 0xF7, 0xDF,
+0x08, 0x3C, 0x6C, 0x20,
+0x03, 0xF5, 0xAA, 0x23,
+0x01, 0x80, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00,
+0x00, 0x33, 0x33, 0x33,
+0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x07, 0xDC,
+0x00, 0x00, 0x08, 0x00,
+0x00, 0x7F, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+0x08, 0x1C, /* (3) IC 1.HWConFiguration */
+0x00, 0x18, 0x08, 0x08, 0x00,
+0x00, 0x44, 0x00, 0x44, 0x44,
+0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01,
+0x08, 0x1C, /* (4) IC 1.CoreRegister */
+0x00, 0x1C,
diff --git a/Software/Sigmastudio/DigiRadioTest/defines.h b/Software/Sigmastudio/DigiRadioTest/defines.h
new file mode 100644
index 0000000..237917f
--- /dev/null
+++ b/Software/Sigmastudio/DigiRadioTest/defines.h
@@ -0,0 +1,26 @@
+/*
+ * File: defines.h
+ *
+ * Created: Thursday, August 6, 2026 1:57:25 PM
+ * Description: DigiRadio IC default download data definitions.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * This software may only be used to program products purchased from
+ * Analog Devices for incorporation by you into audio products that
+ * are intended for resale to audio product end users. This software
+ * may not be distributed whole or in any part to third parties.
+ *
+ * Copyright ©2026 Analog Devices, Inc. All rights reserved.
+ */
+#ifndef __DEFINES_H__
+#define __DEFINES_H__
+
+#define BufferSize_IC_1 9254
+#define NumTransactions_IC_1 5
+
+
+#endif
diff --git a/Software/Sigmastudio/DigiRadioTest/digiradio_beep_enabled.drad b/Software/Sigmastudio/DigiRadioTest/digiradio_beep_enabled.drad
new file mode 100644
index 0000000..54e7789
Binary files /dev/null and b/Software/Sigmastudio/DigiRadioTest/digiradio_beep_enabled.drad differ
diff --git a/Software/Sigmastudio/DigiRadioTest/digiradio_test.drad b/Software/Sigmastudio/DigiRadioTest/digiradio_test.drad
new file mode 100644
index 0000000..1dd5ff3
Binary files /dev/null and b/Software/Sigmastudio/DigiRadioTest/digiradio_test.drad differ
diff --git a/Software/components/core/CMakeLists.txt b/Software/components/core/CMakeLists.txt
index c3287c5..e34179c 100644
--- a/Software/components/core/CMakeLists.txt
+++ b/Software/components/core/CMakeLists.txt
@@ -9,6 +9,7 @@ idf_component_register(
"src/WifiSsid.cpp"
"src/WifiCredentials.cpp"
"src/WifiProvisionJson.cpp"
+ "src/WifiScanJson.cpp"
"src/EmbeddedBlobReader.cpp"
"src/TunerJson.cpp"
"src/FrequencyKHz.cpp"
@@ -38,6 +39,7 @@ idf_component_register(
"src/RegisterWrite.cpp"
"src/DspProgramBlob.cpp"
"src/OtaAppDescriptor.cpp"
+ "src/WebRadioJson.cpp"
INCLUDE_DIRS "include"
)
diff --git a/Software/components/core/include/core/AudioProfileJson.hpp b/Software/components/core/include/core/AudioProfileJson.hpp
index cf3b252..e29d85a 100644
--- a/Software/components/core/include/core/AudioProfileJson.hpp
+++ b/Software/components/core/include/core/AudioProfileJson.hpp
@@ -90,4 +90,18 @@ namespace core {
[[nodiscard]] std::expected parseEnhanceLevelJson(
std::string_view json);
+/**
+ * @brief parseBeepEnabledJson — parse POST body {"enabled":true|false}.
+ *
+ * @dname parseBeepEnabledJson
+ * @param json Untrusted request body.
+ * @return Parsed enabled flag, or ParseError.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-07
+ */
+[[nodiscard]] std::expected parseBeepEnabledJson(
+ std::string_view json);
+
} // namespace core
diff --git a/Software/components/core/include/core/BluetoothJson.hpp b/Software/components/core/include/core/BluetoothJson.hpp
index 9adc3d0..80c2842 100644
--- a/Software/components/core/include/core/BluetoothJson.hpp
+++ b/Software/components/core/include/core/BluetoothJson.hpp
@@ -14,6 +14,8 @@
#include "core/Bt1035At.hpp"
#include "core/Bt1035PairedDevice.hpp"
+#include "core/Bt1035ScannedDevice.hpp"
+#include "core/BtSpeakerTarget.hpp"
#include
#include
@@ -39,6 +41,22 @@ struct BluetoothStatus {
std::uint8_t autoReconnect; ///< Power-on reconnect count (0 = off).
};
+/**
+ * @brief BluetoothConnectRequest — POST /api/bluetooth/connect body.
+ *
+ * @dname BluetoothConnectRequest
+ * @return n/a (type)
+ * @pubstate Parsed by parseBluetoothConnectJson().
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+struct BluetoothConnectRequest {
+ std::string mac; ///< 12-char module MAC.
+ std::string name; ///< Optional label stored when save is true.
+ bool save; ///< Persist as default speaker on success.
+};
+
/**
* @brief serializeBluetoothStatusJson — serialise BluetoothStatus for HTTP.
*
@@ -94,4 +112,74 @@ struct BluetoothStatus {
[[nodiscard]] std::expected
parseBluetoothAutoReconnectJson(std::string_view json);
+/**
+ * @brief serializeBluetoothScanJson — serialise scan result list.
+ *
+ * @dname serializeBluetoothScanJson
+ * @param devices Parsed +SCAN entries.
+ * @return JSON object with a devices array.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string serializeBluetoothScanJson(
+ const std::vector& devices);
+
+/**
+ * @brief parseBluetoothConnectJson — validate POST /api/bluetooth/connect.
+ *
+ * @dname parseBluetoothConnectJson
+ * @param json Request body with 12-char \c mac field.
+ * @return Normalised uppercase MAC on success, or ParseError.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::expected
+parseBluetoothConnectJson(std::string_view json);
+
+/**
+ * @brief parseBluetoothConnectRequest — mac, optional name, save flag.
+ *
+ * @dname parseBluetoothConnectRequest
+ * @param json POST /api/bluetooth/connect body.
+ * @return Parsed connect request (mac may be empty if invalid).
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] BluetoothConnectRequest parseBluetoothConnectRequest(
+ std::string_view json);
+
+/**
+ * @brief serializeBluetoothSpeakerJson — saved default speaker for HTTP.
+ *
+ * @dname serializeBluetoothSpeakerJson
+ * @param target Stored speaker, or nullptr when not configured.
+ * @return JSON object with configured flag.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string serializeBluetoothSpeakerJson(
+ const BtSpeakerTarget* target);
+
+/**
+ * @brief parseBluetoothSpeakerJson — validate POST /api/bluetooth/speaker.
+ *
+ * @dname parseBluetoothSpeakerJson
+ * @param json Request body with mac and optional name.
+ * @return BtSpeakerTarget on success, or ParseError.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::expected
+parseBluetoothSpeakerJson(std::string_view json);
+
} // namespace core
diff --git a/Software/components/core/include/core/Bt1035At.hpp b/Software/components/core/include/core/Bt1035At.hpp
index 9d6606e..1e63175 100644
--- a/Software/components/core/include/core/Bt1035At.hpp
+++ b/Software/components/core/include/core/Bt1035At.hpp
@@ -13,6 +13,7 @@
#pragma once
#include "core/Bt1035PairedDevice.hpp"
+#include "core/Bt1035ScannedDevice.hpp"
#include "core/ParseError.hpp"
#include
@@ -36,12 +37,14 @@ namespace core {
* @date 2026-07-06
*/
enum class Bt1035AtCommand {
+ Reset, ///< AT+RESET — software reset (best-effort, not gated on OK).
Ping, ///< AT — link check.
I2sMode, ///< AT+AUXCFG=3 — I2S input from ADAU1701 (mandatory).
- I2sSlave48k32, ///< AT+I2SCFG=67 — I2S slave 48 kHz 32-bit (§5.1.4).
+ I2sSlave48k24, ///< AT+I2SCFG=35 — I2S slave 48 kHz 24-bit (§5.1.4).
PairDiscoverable, ///< AT+PAIR=1 — enter BR/EDR/BLE discoverable mode.
PairHidden, ///< AT+PAIR=0 — leave discoverable mode.
A2dpStat, ///< AT+A2DPSTAT — read A2DP link state.
+ A2dpEncoder, ///< AT+A2DPENC — read negotiated A2DP codec (§5.3.5).
A2dpDisconnect, ///< AT+A2DPDISC — release current A2DP connection.
QueryName, ///< AT+NAME — read BR/EDR local name (+NAME=).
QueryAutoConn, ///< AT+AUTOCONN — read power-on auto-reconnect count.
@@ -67,6 +70,24 @@ enum class Bt1035A2dpState : std::uint8_t {
Paused = 5,
};
+/**
+ * @brief Bt1035A2dpCodec — negotiated codec from +A2DPENC=Param (§5.3.5).
+ *
+ * @dname Bt1035A2dpCodec
+ * @return n/a (type)
+ * @pubstate BT1035 chip variant codes (BT806 differs; board uses BT1035).
+ *
+ * @author Michele Bigi
+ * @date 2026-08-07
+ */
+enum class Bt1035A2dpCodec : std::uint8_t {
+ Sbc = 1,
+ Aptx = 2,
+ AptxHd = 3,
+ AptxLl = 4,
+ AptxAdaptive = 5,
+};
+
/**
* @brief Bt1035AtResponseKind — parsed module reply class.
*
@@ -86,8 +107,14 @@ enum class Bt1035AtResponseKind {
/** Number of commands in bootInitSequence(). */
inline constexpr std::size_t kBt1035BootInitCommandCount = 3U;
-/** Feasycom programming guide §5.1.4: I2S slave, 48 kHz, 32-bit. */
-inline constexpr std::uint8_t kBt1035I2sSlave48k32Param = 67U;
+/**
+ * Feasycom programming guide §5.1.4: I2S slave, 48 kHz, 24-bit — matches the
+ * ADAU1701 serial output word length (SigmaStudio Hardware Configuration).
+ * Bit field: BIT[0]=enable(1), BIT[1]=slave(1), BIT[2]=FS 48kHz(0),
+ * BIT[3]=left justified(0), BIT[4]=data 1-bit delay(0), BIT[5:6]=24-bit(01)
+ * -> 1 + 2 + 32 = 35.
+ */
+inline constexpr std::uint8_t kBt1035I2sSlave48k24Param = 35U;
/**
* @brief buildBt1035AtLine — serialise a command with CRLF terminator.
@@ -106,7 +133,7 @@ inline constexpr std::uint8_t kBt1035I2sSlave48k32Param = 67U;
* @brief bootInitSequence — mandatory bring-up commands in order.
*
* @dname bootInitSequence
- * @return Ping, I2sMode (AUXCFG=3), I2sSlave48k32 (I2SCFG=67).
+ * @return Ping, I2sMode (AUXCFG=3), I2sSlave48k24 (I2SCFG=35).
* @pubstate none
*
* @author Michele Bigi
@@ -156,6 +183,33 @@ parseBt1035A2dpStatResponse(std::string_view response);
*/
[[nodiscard]] const char* a2dpStateToken(Bt1035A2dpState state) noexcept;
+/**
+ * @brief parseBt1035A2dpEncoderResponse — extract negotiated codec.
+ *
+ * @dname parseBt1035A2dpEncoderResponse
+ * @param response Full module reply (may include +A2DPENC and OK lines).
+ * @return Bt1035A2dpCodec on success, or ParseError::MissingField.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-07
+ */
+[[nodiscard]] std::expected
+parseBt1035A2dpEncoderResponse(std::string_view response);
+
+/**
+ * @brief a2dpCodecToken — serialise negotiated codec for logs/JSON.
+ *
+ * @dname a2dpCodecToken
+ * @param codec Parsed negotiated codec.
+ * @return Short stable string (e.g. "sbc").
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-07
+ */
+[[nodiscard]] const char* a2dpCodecToken(Bt1035A2dpCodec codec) noexcept;
+
/**
* @brief buildBt1035SetAutoConnLine — AT+AUTOCONN with reconnect count.
*
@@ -226,4 +280,149 @@ parseBt1035AutoConnResponse(std::string_view response);
[[nodiscard]] std::expected, ParseError>
parseBt1035PairedListResponse(std::string_view response);
+/**
+ * @brief buildBt1035StartScanLine — AT+SCAN for nearby BR/EDR devices.
+ *
+ * @dname buildBt1035StartScanLine
+ * @param scanType AT+SCAN Param1; clamped to 1 or 2 (2 only when
+ * passed exactly, otherwise 1).
+ * @param scanSeconds BR/EDR inquiry time 1–255 (Feasycom Param2).
+ * @return Full AT line including CRLF.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string buildBt1035StartScanLine(std::uint8_t scanType,
+ std::uint8_t scanSeconds = 0U);
+
+/**
+ * @brief buildBt1035StopScanLine — stop an active device scan.
+ *
+ * @dname buildBt1035StopScanLine
+ * @return AT+SCAN=0 line with CRLF.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string buildBt1035StopScanLine();
+
+/**
+ * @brief buildBt1035EnablePrintLine — ensure +SCAN events are reported.
+ *
+ * @dname buildBt1035EnablePrintLine
+ * @return AT+PRINT=1 line with CRLF.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string buildBt1035EnablePrintLine();
+
+/**
+ * @brief buildBt1035DisconnectAllLine — release all BT connections.
+ *
+ * @dname buildBt1035DisconnectAllLine
+ * @return AT+DSCA line with CRLF.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string buildBt1035DisconnectAllLine();
+
+/**
+ * @brief buildBt1035DisableAutoLinkLine — disable auto-link on power-up.
+ *
+ * @dname buildBt1035DisableAutoLinkLine
+ * @return AT+LINKCFG=0,0 line with CRLF.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string buildBt1035DisableAutoLinkLine();
+
+/**
+ * @brief buildBt1035ClearPairedListLine — erase all paired records.
+ *
+ * @dname buildBt1035ClearPairedListLine
+ * @return AT+PLIST=0 line with CRLF.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string buildBt1035ClearPairedListLine();
+
+/**
+ * @brief buildBt1035A2dpConnectLine — connect A2DP to a remote MAC.
+ *
+ * @dname buildBt1035A2dpConnectLine
+ * @param mac 12-char ASCII MAC address (no colons).
+ * @return AT+A2DPCONN line, or empty when mac invalid.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string buildBt1035A2dpConnectLine(std::string_view mac);
+
+/**
+ * @brief buildBt1035A2dpAudioLine — start/stop A2DP audio (§5.3.6).
+ *
+ * @dname buildBt1035A2dpAudioLine
+ * @param establish true → AT+A2DPAUDIO=1, false → release audio.
+ * @return Full AT line including CRLF.
+ * @pubstate none
+ *
+ * Feasycom BT1035: link state Connected (3) is not enough for I2S→sink
+ * playback; audio starts after A2DPAUDIO=1 and +A2DPSTAT=4 (Streaming).
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string buildBt1035A2dpAudioLine(bool establish);
+
+/**
+ * @brief isValidBt1035Mac — true for 12 hex digits.
+ *
+ * @dname isValidBt1035Mac
+ * @param mac Candidate MAC from scan or UI.
+ * @return true when exactly 12 hexadecimal characters.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] bool isValidBt1035Mac(std::string_view mac) noexcept;
+
+/**
+ * @brief normalizeBt1035Mac — strip separators and uppercase MAC.
+ *
+ * @dname normalizeBt1035Mac
+ * @param mac MAC with optional colons or dashes.
+ * @return 12 uppercase hex digits, or empty when invalid length/chars.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string normalizeBt1035Mac(std::string_view mac);
+
+/**
+ * @brief parseBt1035ScanResponse — parse +SCAN= inquiry results.
+ *
+ * @dname parseBt1035ScanResponse
+ * @param response Full UART payload until +SCAN=E.
+ * @return Discovered devices, or ParseError when payload malformed.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::expected, ParseError>
+parseBt1035ScanResponse(std::string_view response);
+
} // namespace core
diff --git a/Software/components/core/include/core/Bt1035ScannedDevice.hpp b/Software/components/core/include/core/Bt1035ScannedDevice.hpp
new file mode 100644
index 0000000..68d3c4a
--- /dev/null
+++ b/Software/components/core/include/core/Bt1035ScannedDevice.hpp
@@ -0,0 +1,39 @@
+/**
+ * @file Bt1035ScannedDevice.hpp
+ * @brief One entry from FSC-BT1035 AT+SCAN (+SCAN= lines).
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+#pragma once
+
+#include
+#include
+
+namespace core {
+
+/**
+ * @brief Bt1035ScannedDevice — nearby remote from +SCAN= events.
+ *
+ * @dname Bt1035ScannedDevice
+ * @return n/a (type)
+ * @pubstate Plain DTO parsed in the pure core.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+struct Bt1035ScannedDevice {
+ std::uint8_t index; ///< Scan result index from the module.
+ std::uint8_t addressType; ///< 0/1 LE, 2 BR/EDR (Feasycom manual).
+ std::string mac; ///< 12-char ASCII MAC without separators.
+ std::int16_t rssiDbm; ///< RSSI in dBm (-127..-1).
+ std::string name; ///< Remote friendly name when advertised.
+ std::string deviceClass; ///< Class of device hex string when present.
+};
+
+} // namespace core
diff --git a/Software/components/core/include/core/BtSpeakerTarget.hpp b/Software/components/core/include/core/BtSpeakerTarget.hpp
new file mode 100644
index 0000000..1d5340f
--- /dev/null
+++ b/Software/components/core/include/core/BtSpeakerTarget.hpp
@@ -0,0 +1,34 @@
+/**
+ * @file BtSpeakerTarget.hpp
+ * @brief Saved A2DP speaker target (MAC + optional friendly name).
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+#pragma once
+
+#include
+
+namespace core {
+
+/**
+ * @brief BtSpeakerTarget — default BR/EDR speaker for AT+A2DPCONN.
+ *
+ * @dname BtSpeakerTarget
+ * @return n/a (type)
+ * @pubstate Persisted in NVS via ISecureStore; MAC is 12-char ASCII hex.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+struct BtSpeakerTarget {
+ std::string mac; ///< 12-char BR/EDR MAC (uppercase, no separators).
+ std::string name; ///< Optional label shown in the web UI.
+};
+
+} // namespace core
diff --git a/Software/components/core/include/core/CompanionChipStatus.hpp b/Software/components/core/include/core/CompanionChipStatus.hpp
index f3fc396..e8c3296 100644
--- a/Software/components/core/include/core/CompanionChipStatus.hpp
+++ b/Software/components/core/include/core/CompanionChipStatus.hpp
@@ -27,7 +27,7 @@ namespace core {
struct CompanionChipStatus {
bool si4684Ready; ///< Si4684 HOST_LOAD completed.
bool adau1701Ready; ///< ADAU1701 SigmaStudio download completed.
- bool bt1035Ready; ///< BT1035 I2S init (AUXCFG=3 + I2SCFG=67) completed.
+ bool bt1035Ready; ///< BT1035 I2S init (AUXCFG=3 + I2SCFG=35) completed.
};
} // namespace core
diff --git a/Software/components/core/include/core/IDsp.hpp b/Software/components/core/include/core/IDsp.hpp
index 33c7d4f..a48b774 100644
--- a/Software/components/core/include/core/IDsp.hpp
+++ b/Software/components/core/include/core/IDsp.hpp
@@ -130,6 +130,21 @@ public:
*/
[[nodiscard]] virtual std::expected setEqBand(
EqBandIndex band, GainDb gain, FrequencyHz center, float q) = 0;
+
+ /**
+ * @brief setBeepEnabled — gate the SigmaStudio Beep1 tone generator.
+ *
+ * @dname setBeepEnabled
+ * @param enabled true unmutes Beep1, false mutes it.
+ * @return Ok on success, or DspError.
+ * @pubstate writes ADAU1701 parameter RAM via safeload. Not part of
+ * AudioProfile — live-only, never persisted.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-07
+ */
+ [[nodiscard]] virtual std::expected setBeepEnabled(
+ bool enabled) = 0;
};
} // namespace core
diff --git a/Software/components/core/include/core/ISecureStore.hpp b/Software/components/core/include/core/ISecureStore.hpp
index 489f5df..95effbe 100644
--- a/Software/components/core/include/core/ISecureStore.hpp
+++ b/Software/components/core/include/core/ISecureStore.hpp
@@ -18,6 +18,7 @@
#pragma once
#include "core/StoreError.hpp"
+#include "core/BtSpeakerTarget.hpp"
#include "core/WifiCredentials.hpp"
#include
@@ -210,6 +211,97 @@ public:
*/
[[nodiscard]] virtual std::expected
clearLastPresetIndex() = 0;
+
+ /**
+ * @brief hasBtSpeakerTarget — check whether a default speaker MAC is stored.
+ *
+ * @dname hasBtSpeakerTarget
+ * @return true when loadBtSpeakerTarget would succeed.
+ * @pubstate reads backing storage via implementation.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] virtual bool hasBtSpeakerTarget() const = 0;
+
+ /**
+ * @brief saveBtSpeakerTarget — persist default A2DP speaker MAC/name.
+ *
+ * @dname saveBtSpeakerTarget
+ * @param target Validated MAC and optional display name.
+ * @return Ok on success, or StoreError::IoFailed.
+ * @pubstate writes backing storage via implementation.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] virtual std::expected
+ saveBtSpeakerTarget(const BtSpeakerTarget& target) = 0;
+
+ /**
+ * @brief loadBtSpeakerTarget — read stored default speaker.
+ *
+ * @dname loadBtSpeakerTarget
+ * @return BtSpeakerTarget on success, or StoreError.
+ * @pubstate reads backing storage via implementation.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] virtual std::expected
+ loadBtSpeakerTarget() const = 0;
+
+ /**
+ * @brief clearBtSpeakerTarget — erase stored default speaker.
+ *
+ * @dname clearBtSpeakerTarget
+ * @return Ok on success, or StoreError::IoFailed.
+ * @pubstate clears backing storage via implementation.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] virtual std::expected
+ clearBtSpeakerTarget() = 0;
+
+ /**
+ * @brief hasWebRadioConfig — check whether a streaming config is stored.
+ *
+ * @dname hasWebRadioConfig
+ * @return true when loadWebRadioConfigJson would succeed.
+ * @pubstate reads backing storage via implementation.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+ [[nodiscard]] virtual bool hasWebRadioConfig() const = 0;
+
+ /**
+ * @brief saveWebRadioConfigJson — persist serialised streaming config.
+ *
+ * @dname saveWebRadioConfigJson
+ * @param json Output of core::serializeWebRadioConfigJson().
+ * @return Ok on success, or StoreError::IoFailed.
+ * @pubstate writes backing storage via implementation.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+ [[nodiscard]] virtual std::expected
+ saveWebRadioConfigJson(std::string_view json) = 0;
+
+ /**
+ * @brief loadWebRadioConfigJson — read stored streaming config.
+ *
+ * @dname loadWebRadioConfigJson
+ * @return JSON blob on success, or StoreError.
+ * @pubstate reads backing storage via implementation.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+ [[nodiscard]] virtual std::expected
+ loadWebRadioConfigJson() const = 0;
};
} // namespace core
diff --git a/Software/components/core/include/core/MixerState.hpp b/Software/components/core/include/core/MixerState.hpp
index 8a9449b..1f8948b 100644
--- a/Software/components/core/include/core/MixerState.hpp
+++ b/Software/components/core/include/core/MixerState.hpp
@@ -33,11 +33,11 @@ struct MixerState {
GainDb si4684Right; ///< Si4674 volume control, right channel.
GainDb esp32Left; ///< ESP32 volume control, left channel.
GainDb esp32Right; ///< ESP32 volume control, right channel.
- GainDb mixLeft; ///< St Mixer1 left blend level.
- GainDb mixRight; ///< St Mixer1 right blend level.
+ GainDb mixLeft; ///< St Mixer1 ST0 (Si4684) input level.
+ GainDb mixRight; ///< St Mixer1 ST1 (ESP32) input level.
/**
- * @brief factoryDefault — unity gains on all paths (radio-first mix).
+ * @brief factoryDefault — unity gains on all paths.
*
* @dname factoryDefault
* @return MixerState with 0 dB on every control.
@@ -47,6 +47,18 @@ struct MixerState {
* @date 2026-07-06
*/
[[nodiscard]] static MixerState factoryDefault() noexcept;
+
+ /**
+ * @brief radioFirst — Si4684 path open, ESP32 path muted.
+ *
+ * @dname radioFirst
+ * @return MixerState for FM/DAB tuner audio to the Bose I2S chain.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] static MixerState radioFirst() noexcept;
};
} // namespace core
diff --git a/Software/components/core/include/core/TunerJson.hpp b/Software/components/core/include/core/TunerJson.hpp
index 1ede01f..511d89a 100644
--- a/Software/components/core/include/core/TunerJson.hpp
+++ b/Software/components/core/include/core/TunerJson.hpp
@@ -58,6 +58,43 @@ struct TunerPlayRequest {
std::uint32_t componentId; ///< Audio component within the service.
};
+/**
+ * @brief TunerScanRequest — parsed POST /api/tuner/scan body.
+ *
+ * @dname TunerScanRequest
+ * @return n/a (type)
+ * @pubstate Plain DTO filled by parseTunerScanJson at the HTTP boundary.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+struct TunerScanRequest {
+ TunerBand band; ///< FM seek scan or DAB ensemble scan.
+ std::uint8_t maxSteps; ///< Max FM seeks or DAB ensemble indices to try.
+ std::string nameFilter; ///< Optional case-insensitive substring (PS/DAB label).
+};
+
+/**
+ * @brief TunerScanResult — outcome of an automatic station search.
+ *
+ * @dname TunerScanResult
+ * @return n/a (type)
+ * @pubstate Built by TunerService::scanForStation().
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+struct TunerScanResult {
+ bool found; ///< True when a station matched criteria.
+ TunerBand band; ///< Band that was scanned.
+ std::uint16_t stepsTried; ///< Seek or ensemble attempts performed.
+ std::optional fmFrequency; ///< FM centre when found on FM.
+ std::optional dabFreqIndex; ///< Ensemble index when found on DAB.
+ std::optional dabServiceId; ///< Started DAB service id.
+ std::optional dabComponentId; ///< Started DAB component id.
+ std::optional stationName; ///< RDS PS or DAB label when known.
+};
+
/**
* @brief serializeTunerStatusJson — serialise a tuner snapshot for GET status.
*
@@ -143,4 +180,31 @@ struct TunerPlayRequest {
[[nodiscard]] std::expected parseTunerSeekJson(
std::string_view json);
+/**
+ * @brief parseTunerScanJson — validate POST /api/tuner/scan body.
+ *
+ * @dname parseTunerScanJson
+ * @param json Untrusted request body from the HTTP handler.
+ * @return TunerScanRequest on success, or a ParseError.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::expected parseTunerScanJson(
+ std::string_view json);
+
+/**
+ * @brief serializeTunerScanJson — serialise automatic scan outcome.
+ *
+ * @dname serializeTunerScanJson
+ * @param result Scan result from TunerService::scanForStation().
+ * @return JSON object for the HTTP response body.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string serializeTunerScanJson(const TunerScanResult& result);
+
} // namespace core
diff --git a/Software/components/core/include/core/TunerStatus.hpp b/Software/components/core/include/core/TunerStatus.hpp
index 6ddab37..f93963d 100644
--- a/Software/components/core/include/core/TunerStatus.hpp
+++ b/Software/components/core/include/core/TunerStatus.hpp
@@ -60,6 +60,7 @@ struct TunerStatus {
std::optional dabPlayingServiceId; ///< Last played DAB service.
std::optional dabPlayingComponentId; ///< Last played DAB component.
std::optional fmFrequency; ///< Tuned FM centre frequency.
+ std::optional fmChipReadFrequency; ///< FM_RSQ READFREQ (may lag commanded).
std::optional fmRssiDbuV; ///< FM RSSI in dBµV.
std::optional fmSnrDb; ///< FM SNR in dB.
std::optional fmStereo; ///< FM stereo pilot detected.
diff --git a/Software/components/core/include/core/WebRadioConfig.hpp b/Software/components/core/include/core/WebRadioConfig.hpp
new file mode 100644
index 0000000..9996a9e
--- /dev/null
+++ b/Software/components/core/include/core/WebRadioConfig.hpp
@@ -0,0 +1,52 @@
+/**
+ * @file WebRadioConfig.hpp
+ * @brief Internet radio stream configuration (URL + enable flag).
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+#pragma once
+
+#include
+
+namespace core {
+
+/**
+ * @brief WebRadioConfig — HTTP MP3 stream URL and on/off state.
+ *
+ * @dname WebRadioConfig
+ * @return n/a (type)
+ * @pubstate Plain value type; url is a plaintext http:// URL (no secrets).
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+struct WebRadioConfig {
+ bool enabled = false; ///< Whether the streaming task should be playing.
+ std::string url; ///< Plaintext http:// MP3 stream URL.
+
+ /**
+ * @brief factoryDefault — disabled, with a known-good sample URL.
+ *
+ * @dname factoryDefault
+ * @return WebRadioConfig with enabled=false and a placeholder URL.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+ [[nodiscard]] static WebRadioConfig factoryDefault()
+ {
+ return WebRadioConfig{
+ .enabled = false,
+ .url = "http://edge.radiomontecarlo.net/RMC.mp3",
+ };
+ }
+};
+
+} // namespace core
diff --git a/Software/components/core/include/core/WebRadioJson.hpp b/Software/components/core/include/core/WebRadioJson.hpp
new file mode 100644
index 0000000..9676cc7
--- /dev/null
+++ b/Software/components/core/include/core/WebRadioJson.hpp
@@ -0,0 +1,66 @@
+/**
+ * @file WebRadioJson.hpp
+ * @brief JSON parse/serialise for the web radio streaming API (pure core).
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+#pragma once
+
+#include "core/ParseError.hpp"
+#include "core/WebRadioConfig.hpp"
+
+#include
+#include
+#include
+
+namespace core {
+
+/**
+ * @brief parseWebRadioConfigJson — parse POST /api/streaming body.
+ *
+ * @dname parseWebRadioConfigJson
+ * @param json Untrusted request body: {"enabled":bool,"url":string}.
+ * @return WebRadioConfig on success, or ParseError. Rejects URLs that
+ * are missing, longer than 200 bytes, or not http://.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+[[nodiscard]] std::expected parseWebRadioConfigJson(
+ std::string_view json);
+
+/**
+ * @brief serializeWebRadioConfigJson — serialise for GET /api/streaming.
+ *
+ * @dname serializeWebRadioConfigJson
+ * @param config Current streaming configuration.
+ * @return JSON object string for the HTTP response body.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+[[nodiscard]] std::string serializeWebRadioConfigJson(
+ const WebRadioConfig& config);
+
+/**
+ * @brief serializeWebRadioErrorJson — error response for streaming routes.
+ *
+ * @dname serializeWebRadioErrorJson
+ * @param reason Safe token (never includes secrets).
+ * @return JSON object with status and reason fields.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+[[nodiscard]] std::string serializeWebRadioErrorJson(std::string_view reason);
+
+} // namespace core
diff --git a/Software/components/core/include/core/WifiScanJson.hpp b/Software/components/core/include/core/WifiScanJson.hpp
new file mode 100644
index 0000000..54815b3
--- /dev/null
+++ b/Software/components/core/include/core/WifiScanJson.hpp
@@ -0,0 +1,50 @@
+/**
+ * @file WifiScanJson.hpp
+ * @brief JSON serialisation for Wi-Fi scan REST API (pure core).
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+#pragma once
+
+#include "core/WifiScannedNetwork.hpp"
+
+#include
+#include
+#include
+
+namespace core {
+
+/**
+ * @brief serializeWifiScanJson — serialise scan result list.
+ *
+ * @dname serializeWifiScanJson
+ * @param networks Deduped AP records sorted by signal strength.
+ * @return JSON object with a networks array.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string serializeWifiScanJson(
+ const std::vector& networks);
+
+/**
+ * @brief serializeWifiScanErrorJson — serialise a Wi-Fi scan API error.
+ *
+ * @dname serializeWifiScanErrorJson
+ * @param reason Short machine-readable cause.
+ * @return JSON error object.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] std::string serializeWifiScanErrorJson(std::string_view reason);
+
+} // namespace core
diff --git a/Software/components/core/include/core/WifiScannedNetwork.hpp b/Software/components/core/include/core/WifiScannedNetwork.hpp
new file mode 100644
index 0000000..9cb133d
--- /dev/null
+++ b/Software/components/core/include/core/WifiScannedNetwork.hpp
@@ -0,0 +1,37 @@
+/**
+ * @file WifiScannedNetwork.hpp
+ * @brief One entry from a nearby Wi-Fi access-point scan.
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+#pragma once
+
+#include
+#include
+
+namespace core {
+
+/**
+ * @brief WifiScannedNetwork — nearby AP from a Wi-Fi scan.
+ *
+ * @dname WifiScannedNetwork
+ * @return n/a (type)
+ * @pubstate Plain DTO assembled by the net shell after esp_wifi scan.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+struct WifiScannedNetwork {
+ std::string ssid; ///< Broadcast SSID (may be empty when hidden).
+ std::int16_t rssiDbm; ///< RSSI in dBm.
+ std::string auth; ///< Short auth token (open, wpa2, wpa3, …).
+ std::uint8_t channel; ///< Primary channel number.
+};
+
+} // namespace core
diff --git a/Software/components/core/src/AudioProfileJson.cpp b/Software/components/core/src/AudioProfileJson.cpp
index e9de512..3edcb72 100644
--- a/Software/components/core/src/AudioProfileJson.cpp
+++ b/Software/components/core/src/AudioProfileJson.cpp
@@ -54,6 +54,25 @@ namespace {
return end != json.data() + valueStart;
}
+[[nodiscard]] bool extractJsonBool(std::string_view json,
+ std::string_view key,
+ bool& out)
+{
+ const std::string trueNeedle =
+ std::string("\"") + std::string(key) + "\":true";
+ const std::string falseNeedle =
+ std::string("\"") + std::string(key) + "\":false";
+ if (json.find(trueNeedle) != std::string_view::npos) {
+ out = true;
+ return true;
+ }
+ if (json.find(falseNeedle) != std::string_view::npos) {
+ out = false;
+ return true;
+ }
+ return false;
+}
+
[[nodiscard]] std::expected parseGainField(
std::string_view json, std::string_view key)
{
@@ -277,4 +296,17 @@ std::expected parseEnhanceLevelJson(
return EnhanceLevel::tryFromLevel(level);
}
+std::expected parseBeepEnabledJson(std::string_view json)
+{
+ if (json.find('{') == std::string_view::npos) {
+ return std::unexpected(ParseError::InvalidJson);
+ }
+
+ bool enabled = false;
+ if (!extractJsonBool(json, "enabled", enabled)) {
+ return std::unexpected(ParseError::MissingField);
+ }
+ return enabled;
+}
+
} // namespace core
diff --git a/Software/components/core/src/BluetoothJson.cpp b/Software/components/core/src/BluetoothJson.cpp
index ff97b04..1722f94 100644
--- a/Software/components/core/src/BluetoothJson.cpp
+++ b/Software/components/core/src/BluetoothJson.cpp
@@ -14,6 +14,7 @@
#include "core/BluetoothJson.hpp"
#include
+#include
#include
namespace core {
@@ -95,4 +96,112 @@ parseBluetoothAutoReconnectJson(std::string_view json)
return static_cast(raw);
}
+std::string serializeBluetoothScanJson(
+ const std::vector& devices)
+{
+ std::ostringstream out;
+ out << "{\"devices\":[";
+ for (std::size_t i = 0; i < devices.size(); ++i) {
+ if (i > 0U) {
+ out << ',';
+ }
+ const Bt1035ScannedDevice& device = devices[i];
+ out << "{\"index\":" << static_cast(device.index)
+ << ",\"mac\":";
+ appendJsonString(out, device.mac);
+ out << ",\"name\":";
+ appendJsonString(out, device.name);
+ out << ",\"rssi_dbm\":" << device.rssiDbm << "}";
+ }
+ out << "]}";
+ return out.str();
+}
+
+std::expected
+parseBluetoothConnectJson(std::string_view json)
+{
+ if (json.find('{') == std::string_view::npos) {
+ return std::unexpected(ParseError::InvalidJson);
+ }
+ const std::string needle = "\"mac\":\"";
+ const std::size_t start = json.find(needle);
+ if (start == std::string_view::npos) {
+ return std::unexpected(ParseError::MissingField);
+ }
+ const std::size_t valueStart = start + needle.size();
+ const std::size_t valueEnd = json.find('"', valueStart);
+ if (valueEnd == std::string_view::npos) {
+ return std::unexpected(ParseError::InvalidJson);
+ }
+ const std::string_view mac = json.substr(valueStart, valueEnd - valueStart);
+ if (!isValidBt1035Mac(mac)) {
+ return std::unexpected(ParseError::InvalidJson);
+ }
+ std::string normalized;
+ normalized.reserve(12U);
+ for (const char ch : mac) {
+ normalized.push_back(
+ static_cast(std::toupper(static_cast(ch))));
+ }
+ return normalized;
+}
+
+BluetoothConnectRequest parseBluetoothConnectRequest(std::string_view json)
+{
+ BluetoothConnectRequest request{
+ .mac = {},
+ .name = {},
+ .save = false,
+ };
+ if (auto mac = parseBluetoothConnectJson(json); mac) {
+ request.mac = std::move(*mac);
+ }
+ const std::string nameNeedle = "\"name\":\"";
+ const std::size_t nameStart = json.find(nameNeedle);
+ if (nameStart != std::string_view::npos) {
+ const std::size_t valueStart = nameStart + nameNeedle.size();
+ const std::size_t valueEnd = json.find('"', valueStart);
+ if (valueEnd != std::string_view::npos) {
+ request.name.assign(json.substr(valueStart, valueEnd - valueStart));
+ }
+ }
+ request.save = json.find("\"save\":true") != std::string_view::npos
+ || json.find("\"save\": true") != std::string_view::npos;
+ return request;
+}
+
+std::string serializeBluetoothSpeakerJson(const BtSpeakerTarget* target)
+{
+ if (target == nullptr) {
+ return "{\"configured\":false}";
+ }
+ std::ostringstream out;
+ out << "{\"configured\":true,\"mac\":";
+ appendJsonString(out, target->mac);
+ out << ",\"name\":";
+ appendJsonString(out, target->name);
+ out << '}';
+ return out.str();
+}
+
+std::expected
+parseBluetoothSpeakerJson(std::string_view json)
+{
+ const auto mac = parseBluetoothConnectJson(json);
+ if (!mac) {
+ return std::unexpected(mac.error());
+ }
+ BtSpeakerTarget target{.mac = *mac, .name = {}};
+ const std::string nameNeedle = "\"name\":\"";
+ const std::size_t nameStart = json.find(nameNeedle);
+ if (nameStart != std::string_view::npos) {
+ const std::size_t valueStart = nameStart + nameNeedle.size();
+ const std::size_t valueEnd = json.find('"', valueStart);
+ if (valueEnd != std::string_view::npos) {
+ target.name.assign(json.substr(valueStart, valueEnd - valueStart));
+ }
+ }
+ return target;
+}
+
} // namespace core
diff --git a/Software/components/core/src/Bt1035At.cpp b/Software/components/core/src/Bt1035At.cpp
index 8af6881..2121052 100644
--- a/Software/components/core/src/Bt1035At.cpp
+++ b/Software/components/core/src/Bt1035At.cpp
@@ -13,6 +13,7 @@
#include "core/Bt1035At.hpp"
+#include
#include
#include
@@ -99,18 +100,22 @@ namespace {
std::string buildBt1035AtLine(Bt1035AtCommand command)
{
switch (command) {
+ case Bt1035AtCommand::Reset:
+ return "AT+RESET\r\n";
case Bt1035AtCommand::Ping:
return "AT\r\n";
case Bt1035AtCommand::I2sMode:
return "AT+AUXCFG=3\r\n";
- case Bt1035AtCommand::I2sSlave48k32:
- return "AT+I2SCFG=67\r\n";
+ case Bt1035AtCommand::I2sSlave48k24:
+ return "AT+I2SCFG=35\r\n";
case Bt1035AtCommand::PairDiscoverable:
return "AT+PAIR=1\r\n";
case Bt1035AtCommand::PairHidden:
return "AT+PAIR=0\r\n";
case Bt1035AtCommand::A2dpStat:
return "AT+A2DPSTAT\r\n";
+ case Bt1035AtCommand::A2dpEncoder:
+ return "AT+A2DPENC\r\n";
case Bt1035AtCommand::A2dpDisconnect:
return "AT+A2DPDISC\r\n";
case Bt1035AtCommand::QueryName:
@@ -145,7 +150,7 @@ std::array bootInitSequence() noex
return std::array{
Bt1035AtCommand::Ping,
Bt1035AtCommand::I2sMode,
- Bt1035AtCommand::I2sSlave48k32,
+ Bt1035AtCommand::I2sSlave48k24,
};
}
@@ -206,6 +211,43 @@ const char* a2dpStateToken(Bt1035A2dpState state) noexcept
return "unknown";
}
+std::expected
+parseBt1035A2dpEncoderResponse(std::string_view response)
+{
+ constexpr std::string_view kPrefix = "+A2DPENC=";
+ const std::size_t pos = response.find(kPrefix);
+ if (pos == std::string_view::npos) {
+ return std::unexpected(ParseError::MissingField);
+ }
+
+ const std::size_t valueStart = pos + kPrefix.size();
+ char* end = nullptr;
+ const unsigned long raw =
+ std::strtoul(response.data() + valueStart, &end, 10);
+ if (end == response.data() + valueStart || raw < 1U || raw > 5U) {
+ return std::unexpected(ParseError::MissingField);
+ }
+
+ return static_cast(raw);
+}
+
+const char* a2dpCodecToken(Bt1035A2dpCodec codec) noexcept
+{
+ switch (codec) {
+ case Bt1035A2dpCodec::Sbc:
+ return "sbc";
+ case Bt1035A2dpCodec::Aptx:
+ return "aptx";
+ case Bt1035A2dpCodec::AptxHd:
+ return "aptx-hd";
+ case Bt1035A2dpCodec::AptxLl:
+ return "aptx-ll";
+ case Bt1035A2dpCodec::AptxAdaptive:
+ return "aptx-adaptive";
+ }
+ return "unknown";
+}
+
std::expected
parseBt1035NameResponse(std::string_view response)
{
@@ -286,4 +328,179 @@ parseBt1035PairedListResponse(std::string_view response)
return devices;
}
+std::string buildBt1035StartScanLine(std::uint8_t scanType, std::uint8_t scanSeconds)
+{
+ const std::uint8_t type = (scanType == 2U) ? 2U : 1U;
+ if (scanSeconds == 0U) {
+ return "AT+SCAN=" + std::to_string(type) + "\r\n";
+ }
+ return "AT+SCAN=" + std::to_string(type) + ","
+ + std::to_string(scanSeconds) + "\r\n";
+}
+
+std::string buildBt1035StopScanLine()
+{
+ return "AT+SCAN=0\r\n";
+}
+
+std::string buildBt1035EnablePrintLine()
+{
+ return "AT+PRINT=1\r\n";
+}
+
+std::string buildBt1035DisconnectAllLine()
+{
+ return "AT+DSCA\r\n";
+}
+
+std::string buildBt1035DisableAutoLinkLine()
+{
+ return "AT+LINKCFG=0,0\r\n";
+}
+
+std::string buildBt1035ClearPairedListLine()
+{
+ return "AT+PLIST=0\r\n";
+}
+
+bool isValidBt1035Mac(std::string_view mac) noexcept
+{
+ if (mac.size() != 12U) {
+ return false;
+ }
+ for (const char ch : mac) {
+ if (!std::isxdigit(static_cast(ch))) {
+ return false;
+ }
+ }
+ return true;
+}
+
+[[nodiscard]] std::string normalizeBt1035Mac(std::string_view mac)
+{
+ std::string normalized;
+ normalized.reserve(12U);
+ for (const char ch : mac) {
+ if (ch == ':' || ch == '-') {
+ continue;
+ }
+ normalized.push_back(
+ static_cast(std::toupper(static_cast(ch))));
+ }
+ return normalized;
+}
+
+std::string buildBt1035A2dpConnectLine(std::string_view mac)
+{
+ if (!isValidBt1035Mac(mac)) {
+ return {};
+ }
+ return std::string("AT+A2DPCONN=") + std::string(mac) + "\r\n";
+}
+
+std::string buildBt1035A2dpAudioLine(bool establish)
+{
+ return establish ? "AT+A2DPAUDIO=1\r\n" : "AT+A2DPAUDIO=0\r\n";
+}
+
+std::expected, ParseError>
+parseBt1035ScanResponse(std::string_view response)
+{
+ std::vector devices;
+ std::size_t pos = 0;
+ while ((pos = response.find("+SCAN", pos)) != std::string_view::npos) {
+ std::size_t start = pos + 5U;
+ if (start < response.size() && response[start] == '=') {
+ ++start;
+ }
+ while (start < response.size()
+ && (response[start] == ' ' || response[start] == '\t')) {
+ ++start;
+ }
+ const std::size_t end = response.find_first_of("\r\n", start);
+ const std::string_view line =
+ end == std::string_view::npos ? response.substr(start)
+ : response.substr(start, end - start);
+ pos = end == std::string_view::npos ? response.size() : end + 1U;
+ if (line.empty() || line == "E" || line.front() == 'E') {
+ continue;
+ }
+
+ const std::string lineStr(line);
+
+ const std::size_t comma1 = lineStr.find(',');
+ const std::size_t comma2 =
+ comma1 == std::string_view::npos ? std::string_view::npos
+ : lineStr.find(',', comma1 + 1U);
+ const std::size_t comma3 =
+ comma2 == std::string_view::npos ? std::string_view::npos
+ : lineStr.find(',', comma2 + 1U);
+ const std::size_t comma4 =
+ comma3 == std::string_view::npos ? std::string_view::npos
+ : lineStr.find(',', comma3 + 1U);
+ if (comma4 == std::string_view::npos) {
+ continue;
+ }
+
+ char* endIdx = nullptr;
+ const unsigned long index =
+ std::strtoul(lineStr.c_str(), &endIdx, 10);
+ if (endIdx == lineStr.c_str() || index == 0U) {
+ continue;
+ }
+
+ const unsigned long addrType =
+ std::strtoul(lineStr.c_str() + comma1 + 1U, &endIdx, 10);
+ const std::string mac =
+ normalizeBt1035Mac(lineStr.substr(comma2 + 1U, comma3 - comma2 - 1U));
+ if (!isValidBt1035Mac(mac)) {
+ continue;
+ }
+
+ const long rssi =
+ std::strtol(lineStr.c_str() + comma3 + 1U, &endIdx, 10);
+ const unsigned long nameLen =
+ std::strtoul(lineStr.c_str() + comma4 + 1U, &endIdx, 10);
+ const std::size_t afterNameLen =
+ static_cast(endIdx - lineStr.c_str());
+
+ std::string name;
+ std::string deviceClass;
+ if (nameLen > 0U) {
+ if (afterNameLen >= lineStr.size() || lineStr[afterNameLen] != ',') {
+ continue;
+ }
+ const std::size_t nameStart = afterNameLen + 1U;
+ if (nameStart + nameLen > lineStr.size()) {
+ continue;
+ }
+ name.assign(lineStr.substr(nameStart, nameLen));
+ const std::size_t afterName = nameStart + nameLen;
+ if (afterName < lineStr.size() && lineStr[afterName] == ',') {
+ deviceClass.assign(lineStr.substr(afterName + 1U));
+ }
+ } else if (afterNameLen < lineStr.size()
+ && lineStr[afterNameLen] == ',') {
+ const std::size_t classStart = afterNameLen + 1U;
+ if (classStart < lineStr.size()) {
+ if (lineStr[classStart] == ',') {
+ deviceClass.assign(lineStr.substr(classStart + 1U));
+ } else {
+ deviceClass.assign(lineStr.substr(classStart));
+ }
+ }
+ }
+
+ Bt1035ScannedDevice entry = {};
+ entry.index = static_cast(index);
+ entry.addressType = static_cast(addrType);
+ entry.mac = mac;
+ entry.rssiDbm = static_cast(rssi);
+ entry.name = std::move(name);
+ entry.deviceClass = std::move(deviceClass);
+ devices.push_back(std::move(entry));
+ }
+ return devices;
+}
+
} // namespace core
diff --git a/Software/components/core/src/MixerState.cpp b/Software/components/core/src/MixerState.cpp
index 37990e3..f766016 100644
--- a/Software/components/core/src/MixerState.cpp
+++ b/Software/components/core/src/MixerState.cpp
@@ -28,4 +28,18 @@ MixerState MixerState::factoryDefault() noexcept
};
}
+MixerState MixerState::radioFirst() noexcept
+{
+ const GainDb unity = GainDb::zero();
+ const GainDb muted = *GainDb::tryFromDb(GainDb::kMinDb);
+ return MixerState{
+ .si4684Left = unity,
+ .si4684Right = unity,
+ .esp32Left = muted,
+ .esp32Right = muted,
+ .mixLeft = unity,
+ .mixRight = muted,
+ };
+}
+
} // namespace core
diff --git a/Software/components/core/src/TunerJson.cpp b/Software/components/core/src/TunerJson.cpp
index 56266eb..5ca251d 100644
--- a/Software/components/core/src/TunerJson.cpp
+++ b/Software/components/core/src/TunerJson.cpp
@@ -246,4 +246,74 @@ std::expected parseTunerSeekJson(
return std::unexpected(ParseError::InvalidJson);
}
+std::expected parseTunerScanJson(
+ std::string_view json)
+{
+ if (json.find('{') == std::string_view::npos) {
+ return std::unexpected(ParseError::InvalidJson);
+ }
+
+ const std::string_view band = extractJsonString(json, "band");
+ if (band.empty()) {
+ return std::unexpected(ParseError::MissingField);
+ }
+
+ TunerScanRequest req = {};
+ unsigned long maxSteps = 0U;
+ if (band == "fm") {
+ req.band = TunerBand::Fm;
+ req.maxSteps = 45U;
+ } else if (band == "dab") {
+ req.band = TunerBand::Dab;
+ req.maxSteps = 38U;
+ } else {
+ return std::unexpected(ParseError::InvalidJson);
+ }
+
+ if (extractJsonUint(json, "max_steps", maxSteps)) {
+ if (maxSteps == 0U || maxSteps > 255U) {
+ return std::unexpected(ParseError::InvalidJson);
+ }
+ req.maxSteps = static_cast(maxSteps);
+ }
+
+ const std::string_view name = extractJsonString(json, "name");
+ if (!name.empty()) {
+ req.nameFilter.assign(name.begin(), name.end());
+ for (char& ch : req.nameFilter) {
+ if (ch >= 'A' && ch <= 'Z') {
+ ch = static_cast(ch - 'A' + 'a');
+ }
+ }
+ }
+ return req;
+}
+
+std::string serializeTunerScanJson(const TunerScanResult& result)
+{
+ std::ostringstream out;
+ out << "{\"status\":\"" << (result.found ? "found" : "not_found") << '"'
+ << ",\"band\":\"" << bandToken(result.band) << '"'
+ << ",\"steps\":" << result.stepsTried;
+
+ if (result.fmFrequency) {
+ out << ",\"frequency_khz\":" << result.fmFrequency->value();
+ }
+ if (result.dabFreqIndex) {
+ out << ",\"freq_index\":" << static_cast(*result.dabFreqIndex);
+ }
+ if (result.dabServiceId) {
+ out << ",\"service_id\":" << *result.dabServiceId;
+ }
+ if (result.dabComponentId) {
+ out << ",\"component_id\":" << *result.dabComponentId;
+ }
+ if (result.stationName) {
+ out << ",\"station_name\":";
+ appendJsonString(out, result.stationName->value());
+ }
+ out << '}';
+ return out.str();
+}
+
} // namespace core
diff --git a/Software/components/core/src/WebRadioJson.cpp b/Software/components/core/src/WebRadioJson.cpp
new file mode 100644
index 0000000..fee4b2f
--- /dev/null
+++ b/Software/components/core/src/WebRadioJson.cpp
@@ -0,0 +1,89 @@
+/**
+ * @file WebRadioJson.cpp
+ * @brief WebRadioJson implementation.
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+
+#include "core/WebRadioJson.hpp"
+
+namespace core {
+
+namespace {
+
+constexpr std::size_t kMaxUrlLength = 200U;
+constexpr std::string_view kHttpPrefix = "http://";
+
+[[nodiscard]] std::string_view extractJsonString(std::string_view json,
+ std::string_view key)
+{
+ const std::string needle =
+ std::string("\"") + std::string(key) + "\":\"";
+ const std::size_t start = json.find(needle);
+ if (start == std::string_view::npos) {
+ return {};
+ }
+ const std::size_t valueStart = start + needle.size();
+ const std::size_t valueEnd = json.find('"', valueStart);
+ if (valueEnd == std::string_view::npos) {
+ return {};
+ }
+ return json.substr(valueStart, valueEnd - valueStart);
+}
+
+[[nodiscard]] bool extractJsonBool(std::string_view json,
+ std::string_view key, bool& out)
+{
+ const std::string trueNeedle =
+ std::string("\"") + std::string(key) + "\":true";
+ const std::string falseNeedle =
+ std::string("\"") + std::string(key) + "\":false";
+ if (json.find(trueNeedle) != std::string_view::npos) {
+ out = true;
+ return true;
+ }
+ if (json.find(falseNeedle) != std::string_view::npos) {
+ out = false;
+ return true;
+ }
+ return false;
+}
+
+} // namespace
+
+std::expected parseWebRadioConfigJson(
+ std::string_view json)
+{
+ bool enabled = false;
+ if (!extractJsonBool(json, "enabled", enabled)) {
+ return std::unexpected(ParseError::MissingField);
+ }
+
+ const std::string_view url = extractJsonString(json, "url");
+ if (url.empty() || url.size() > kMaxUrlLength
+ || url.substr(0, kHttpPrefix.size()) != kHttpPrefix) {
+ return std::unexpected(ParseError::InvalidJson);
+ }
+
+ return WebRadioConfig{.enabled = enabled, .url = std::string(url)};
+}
+
+std::string serializeWebRadioConfigJson(const WebRadioConfig& config)
+{
+ return std::string(R"({"enabled":)") + (config.enabled ? "true" : "false")
+ + R"(,"url":")" + config.url + "\"}";
+}
+
+std::string serializeWebRadioErrorJson(std::string_view reason)
+{
+ return std::string(R"({"status":"error","reason":")")
+ + std::string(reason) + "\"}";
+}
+
+} // namespace core
diff --git a/Software/components/core/src/WifiScanJson.cpp b/Software/components/core/src/WifiScanJson.cpp
new file mode 100644
index 0000000..cbaf350
--- /dev/null
+++ b/Software/components/core/src/WifiScanJson.cpp
@@ -0,0 +1,73 @@
+/**
+ * @file WifiScanJson.cpp
+ * @brief Wi-Fi scan JSON serialisation implementation.
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+
+#include "core/WifiScanJson.hpp"
+
+#include
+
+namespace core {
+
+namespace {
+
+/**
+ * @brief appendJsonString — emit a JSON string literal.
+ *
+ * @dname appendJsonString
+ * @param out Output stream.
+ * @param text Raw UTF-8 text.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+void appendJsonString(std::ostringstream& out, std::string_view text)
+{
+ out << '"';
+ for (const char ch : text) {
+ if (ch == '"' || ch == '\\') {
+ out << '\\';
+ }
+ out << ch;
+ }
+ out << '"';
+}
+
+} // namespace
+
+std::string serializeWifiScanJson(
+ const std::vector& networks)
+{
+ std::ostringstream out;
+ out << "{\"networks\":[";
+ for (std::size_t i = 0; i < networks.size(); ++i) {
+ if (i > 0U) {
+ out << ',';
+ }
+ const WifiScannedNetwork& network = networks[i];
+ out << "{\"ssid\":";
+ appendJsonString(out, network.ssid);
+ out << ",\"rssi_dbm\":" << network.rssiDbm << ",\"auth\":";
+ appendJsonString(out, network.auth);
+ out << ",\"channel\":" << static_cast(network.channel) << '}';
+ }
+ out << "]}";
+ return out.str();
+}
+
+std::string serializeWifiScanErrorJson(std::string_view reason)
+{
+ return std::string("{\"status\":\"error\",\"reason\":\"") + std::string(reason)
+ + "\"}";
+}
+
+} // namespace core
diff --git a/Software/components/core/test/CMakeLists.txt b/Software/components/core/test/CMakeLists.txt
index 9344566..a74f55c 100644
--- a/Software/components/core/test/CMakeLists.txt
+++ b/Software/components/core/test/CMakeLists.txt
@@ -21,6 +21,7 @@ add_library(digiradio_core STATIC
"${CORE_SRC_DIR}/WifiSsid.cpp"
"${CORE_SRC_DIR}/WifiCredentials.cpp"
"${CORE_SRC_DIR}/WifiProvisionJson.cpp"
+ "${CORE_SRC_DIR}/WifiScanJson.cpp"
"${CORE_SRC_DIR}/EmbeddedBlobReader.cpp"
"${CORE_SRC_DIR}/TunerJson.cpp"
"${CORE_SRC_DIR}/FrequencyKHz.cpp"
@@ -50,6 +51,7 @@ add_library(digiradio_core STATIC
"${CORE_SRC_DIR}/RegisterWrite.cpp"
"${CORE_SRC_DIR}/DspProgramBlob.cpp"
"${CORE_SRC_DIR}/OtaAppDescriptor.cpp"
+ "${CORE_SRC_DIR}/WebRadioJson.cpp"
)
target_include_directories(digiradio_core PUBLIC
"${CMAKE_CURRENT_SOURCE_DIR}/../include"
@@ -75,6 +77,10 @@ add_executable(wifi_provision_test wifi_provision_test.cpp)
target_link_libraries(wifi_provision_test PRIVATE digiradio_core)
add_test(NAME wifi_provision_test COMMAND wifi_provision_test)
+add_executable(wifi_scan_test wifi_scan_test.cpp)
+target_link_libraries(wifi_scan_test PRIVATE digiradio_core)
+add_test(NAME wifi_scan_test COMMAND wifi_scan_test)
+
add_executable(embedded_blob_reader_test embedded_blob_reader_test.cpp)
target_link_libraries(embedded_blob_reader_test PRIVATE digiradio_core)
add_test(NAME embedded_blob_reader_test COMMAND embedded_blob_reader_test)
@@ -101,6 +107,7 @@ add_test(NAME enhancements_design_test COMMAND enhancements_design_test)
add_executable(station_service_test station_service_test.cpp)
target_include_directories(station_service_test PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/host_stubs"
"${CMAKE_CURRENT_SOURCE_DIR}/../../services/station/include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../services/tuner/include"
)
@@ -123,8 +130,13 @@ add_executable(broadcast_metadata_test broadcast_metadata_test.cpp)
target_link_libraries(broadcast_metadata_test PRIVATE digiradio_core)
add_test(NAME broadcast_metadata_test COMMAND broadcast_metadata_test)
+add_executable(web_radio_json_test web_radio_json_test.cpp)
+target_link_libraries(web_radio_json_test PRIVATE digiradio_core)
+add_test(NAME web_radio_json_test COMMAND web_radio_json_test)
+
add_executable(integration_service_test integration_service_test.cpp)
target_include_directories(integration_service_test PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/host_stubs"
"${CMAKE_CURRENT_SOURCE_DIR}/../../services/integration/include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../services/station/include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../services/tuner/include"
diff --git a/Software/components/core/test/audio_profile_json_test.cpp b/Software/components/core/test/audio_profile_json_test.cpp
index 6c47f45..1a9e2d6 100644
--- a/Software/components/core/test/audio_profile_json_test.cpp
+++ b/Software/components/core/test/audio_profile_json_test.cpp
@@ -72,6 +72,31 @@ namespace {
return EXIT_SUCCESS;
}
+[[nodiscard]] int runBeepEnabledJsonTest()
+{
+ const auto onParsed = core::parseBeepEnabledJson(R"({"enabled":true})");
+ if (!onParsed || *onParsed != true) {
+ std::cerr << "beep enabled=true parse mismatch\n";
+ return EXIT_FAILURE;
+ }
+ const auto offParsed = core::parseBeepEnabledJson(R"({"enabled":false})");
+ if (!offParsed || *offParsed != false) {
+ std::cerr << "beep enabled=false parse mismatch\n";
+ return EXIT_FAILURE;
+ }
+ const auto missing = core::parseBeepEnabledJson(R"({})");
+ if (missing) {
+ std::cerr << "beep missing field should fail\n";
+ return EXIT_FAILURE;
+ }
+ const auto malformed = core::parseBeepEnabledJson("not json");
+ if (malformed) {
+ std::cerr << "beep malformed body should fail\n";
+ return EXIT_FAILURE;
+ }
+ return EXIT_SUCCESS;
+}
+
} // namespace
int main()
@@ -79,5 +104,8 @@ int main()
if (runRoundTripTest() != EXIT_SUCCESS) {
return EXIT_FAILURE;
}
+ if (runBeepEnabledJsonTest() != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
return EXIT_SUCCESS;
}
diff --git a/Software/components/core/test/bt1035_at_test.cpp b/Software/components/core/test/bt1035_at_test.cpp
index b6f9300..f529165 100644
--- a/Software/components/core/test/bt1035_at_test.cpp
+++ b/Software/components/core/test/bt1035_at_test.cpp
@@ -13,6 +13,7 @@
#include "core/Bt1035At.hpp"
#include "core/Bt1035PairedDevice.hpp"
+#include "core/Bt1035ScannedDevice.hpp"
#include "core/BluetoothJson.hpp"
#include
@@ -32,7 +33,7 @@ namespace {
std::cerr << "I2S mode must be in init sequence\n";
return EXIT_FAILURE;
}
- if (sequence[2U] != core::Bt1035AtCommand::I2sSlave48k32) {
+ if (sequence[2U] != core::Bt1035AtCommand::I2sSlave48k24) {
std::cerr << "I2SCFG must be in init sequence\n";
return EXIT_FAILURE;
}
@@ -43,9 +44,15 @@ namespace {
return EXIT_FAILURE;
}
const std::string i2sCfg =
- core::buildBt1035AtLine(core::Bt1035AtCommand::I2sSlave48k32);
- if (i2sCfg != "AT+I2SCFG=67\r\n") {
- std::cerr << "I2SCFG=67 command line mismatch\n";
+ core::buildBt1035AtLine(core::Bt1035AtCommand::I2sSlave48k24);
+ if (i2sCfg != "AT+I2SCFG=35\r\n") {
+ std::cerr << "I2SCFG=35 command line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ const std::string reset =
+ core::buildBt1035AtLine(core::Bt1035AtCommand::Reset);
+ if (reset != "AT+RESET\r\n") {
+ std::cerr << "AT+RESET command line mismatch\n";
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
@@ -136,6 +143,115 @@ namespace {
return EXIT_SUCCESS;
}
+[[nodiscard]] int runScanConnectTest()
+{
+ if (core::buildBt1035StartScanLine(1U, 20U) != "AT+SCAN=1,20\r\n") {
+ std::cerr << "SCAN start line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035StartScanLine(1U, 0U) != "AT+SCAN=1\r\n") {
+ std::cerr << "SCAN default line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035StartScanLine(2U, 15U) != "AT+SCAN=2,15\r\n") {
+ std::cerr << "BLE SCAN line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035EnablePrintLine() != "AT+PRINT=1\r\n") {
+ std::cerr << "PRINT line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035DisableAutoLinkLine() != "AT+LINKCFG=0,0\r\n") {
+ std::cerr << "LINKCFG line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035ClearPairedListLine() != "AT+PLIST=0\r\n") {
+ std::cerr << "PLIST clear line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035DisconnectAllLine() != "AT+DSCA\r\n") {
+ std::cerr << "DSCA line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035StopScanLine() != "AT+SCAN=0\r\n") {
+ std::cerr << "SCAN stop line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (!core::isValidBt1035Mac("AABBCCDDEEFF")
+ || core::isValidBt1035Mac("bad")) {
+ std::cerr << "MAC validation failed\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035A2dpConnectLine("aabbccddeeff")
+ != "AT+A2DPCONN=aabbccddeeff\r\n") {
+ std::cerr << "A2DPCONN line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035A2dpAudioLine(true) != "AT+A2DPAUDIO=1\r\n") {
+ std::cerr << "A2DPAUDIO=1 line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ if (core::buildBt1035A2dpAudioLine(false) != "AT+A2DPAUDIO=0\r\n") {
+ std::cerr << "A2DPAUDIO=0 line mismatch\n";
+ return EXIT_FAILURE;
+ }
+ const auto scanned = core::parseBt1035ScanResponse(
+ "+SCAN=1,0,112233445566,-55,7,MyPhone,240404\r\n"
+ "+SCAN=2,0,FFEEDDCCBBAA,-70,0,,240404\r\n"
+ "+SCAN=E\r\n"
+ "OK\r\n");
+ if (!scanned || scanned->size() != 2U || (*scanned)[0U].mac != "112233445566"
+ || (*scanned)[0U].name != "MyPhone" || (*scanned)[0U].rssiDbm != -55
+ || !(*scanned)[1U].name.empty()) {
+ std::cerr << "SCAN parse failed\n";
+ return EXIT_FAILURE;
+ }
+ const auto colonMac = core::parseBt1035ScanResponse(
+ "+SCAN=1,2,AA:BB:CC:DD:EE:FF,-60,4,Test,240404\r\n+SCAN=E\r\n");
+ if (!colonMac || colonMac->size() != 1U
+ || (*colonMac)[0U].mac != "AABBCCDDEEFF") {
+ std::cerr << "SCAN colon MAC parse failed\n";
+ return EXIT_FAILURE;
+ }
+ const auto userLogScan = core::parseBt1035ScanResponse(
+ "+DEVSTAT=9\r\n\r\nOK\r\n\r\n"
+ "+SCAN=1,2,6960BB7EC5AA,-71,8,HY300PRO,1A0114\r\n\r\n"
+ "+SCAN=2,2,BC87FAE69D6E,-49,0\r\n\r\n"
+ "+DEVSTAT=1\r\n");
+ if (!userLogScan || userLogScan->size() != 2U
+ || (*userLogScan)[0U].name != "HY300PRO"
+ || (*userLogScan)[0U].mac != "6960BB7EC5AA"
+ || (*userLogScan)[1U].mac != "BC87FAE69D6E"
+ || !(*userLogScan)[1U].name.empty()
+ || (*userLogScan)[1U].rssiDbm != -49) {
+ std::cerr << "SCAN user-log payload parse failed\n";
+ return EXIT_FAILURE;
+ }
+ const auto bareEmptyName = core::parseBt1035ScanResponse(
+ "+SCAN=2,2,BC87FAE69D6E,-49,0\r\n");
+ if (!bareEmptyName || bareEmptyName->size() != 1U
+ || (*bareEmptyName)[0U].mac != "BC87FAE69D6E"
+ || !(*bareEmptyName)[0U].name.empty()
+ || !(*bareEmptyName)[0U].deviceClass.empty()) {
+ std::cerr << "SCAN bare empty-name line parse failed\n";
+ return EXIT_FAILURE;
+ }
+ const std::string scanJson =
+ core::serializeBluetoothScanJson(*scanned);
+ if (scanJson.find("\"mac\":\"112233445566\"") == std::string::npos
+ || scanJson.find("\"rssi_dbm\":-55") == std::string::npos) {
+ std::cerr << "scan JSON serialise failed: " << scanJson << '\n';
+ return EXIT_FAILURE;
+ }
+ const auto mac =
+ core::parseBluetoothConnectJson(R"({"mac":"112233445566"})");
+ if (!mac || *mac != "112233445566") {
+ std::cerr << "connect JSON parse failed\n";
+ return EXIT_FAILURE;
+ }
+ return EXIT_SUCCESS;
+}
+
} // namespace
int main()
@@ -149,5 +265,8 @@ int main()
if (runNameAutoConnPairedParseTest() != EXIT_SUCCESS) {
return EXIT_FAILURE;
}
+ if (runScanConnectTest() != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
return EXIT_SUCCESS;
}
diff --git a/Software/components/core/test/host_stubs/esp_log.h b/Software/components/core/test/host_stubs/esp_log.h
new file mode 100644
index 0000000..83592a9
--- /dev/null
+++ b/Software/components/core/test/host_stubs/esp_log.h
@@ -0,0 +1,21 @@
+/**
+ * @file esp_log.h
+ * @brief Host-test stand-in for ESP-IDF logging macros.
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Not shipped to device firmware: idf.py builds resolve the real ESP-IDF
+ * esp_log.h first. Only used so services/tuner/src/TunerService.cpp — which
+ * logs scan progress on real hardware — can also compile against
+ * components/core/test host tests without pulling in ESP-IDF.
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#pragma once
+
+#define ESP_LOGE(tag, fmt, ...) ((void)0)
+#define ESP_LOGW(tag, fmt, ...) ((void)0)
+#define ESP_LOGI(tag, fmt, ...) ((void)0)
+#define ESP_LOGD(tag, fmt, ...) ((void)0)
+#define ESP_LOGV(tag, fmt, ...) ((void)0)
diff --git a/Software/components/core/test/host_stubs/freertos/FreeRTOS.h b/Software/components/core/test/host_stubs/freertos/FreeRTOS.h
new file mode 100644
index 0000000..9757e7e
--- /dev/null
+++ b/Software/components/core/test/host_stubs/freertos/FreeRTOS.h
@@ -0,0 +1,19 @@
+/**
+ * @file FreeRTOS.h
+ * @brief Host-test stand-in for the FreeRTOS core header.
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Not shipped to device firmware: idf.py builds resolve the real FreeRTOS
+ * headers first. Only used so services/tuner/src/TunerService.cpp — which
+ * paces scan steps with vTaskDelay on real hardware — can also compile
+ * against components/core/test host tests without pulling in FreeRTOS.
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#pragma once
+
+using TickType_t = unsigned int;
+
+#define pdMS_TO_TICKS(ms) (static_cast(ms))
diff --git a/Software/components/core/test/host_stubs/freertos/task.h b/Software/components/core/test/host_stubs/freertos/task.h
new file mode 100644
index 0000000..d2274e0
--- /dev/null
+++ b/Software/components/core/test/host_stubs/freertos/task.h
@@ -0,0 +1,18 @@
+/**
+ * @file task.h
+ * @brief Host-test stand-in for the FreeRTOS task API.
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Not shipped to device firmware: idf.py builds resolve the real FreeRTOS
+ * headers first. vTaskDelay is a no-op here — host tests assert scan logic
+ * against a FakeTuner, not real hardware settle timing.
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#pragma once
+
+#include "freertos/FreeRTOS.h"
+
+inline void vTaskDelay(TickType_t) {}
diff --git a/Software/components/core/test/integration_service_test.cpp b/Software/components/core/test/integration_service_test.cpp
index dfa62cb..e8e7275 100644
--- a/Software/components/core/test/integration_service_test.cpp
+++ b/Software/components/core/test/integration_service_test.cpp
@@ -15,6 +15,7 @@
#include "core/FrequencyKHz.hpp"
#include "core/IDsp.hpp"
#include "core/ISecureStore.hpp"
+#include "core/BtSpeakerTarget.hpp"
#include "core/StationName.hpp"
#include "core/TunerBand.hpp"
#include "integration/IntegrationService.hpp"
@@ -68,6 +69,12 @@ public:
{
return {};
}
+
+ [[nodiscard]] std::expected setBeepEnabled(
+ bool) override
+ {
+ return {};
+ }
};
class TrackingTuner final : public core::ITuner {
@@ -217,9 +224,60 @@ public:
return {};
}
+ [[nodiscard]] bool hasBtSpeakerTarget() const override
+ {
+ return btSpeaker_.has_value();
+ }
+
+ [[nodiscard]] std::expected saveBtSpeakerTarget(
+ const core::BtSpeakerTarget& target) override
+ {
+ btSpeaker_ = target;
+ return {};
+ }
+
+ [[nodiscard]] std::expected
+ loadBtSpeakerTarget() const override
+ {
+ if (!btSpeaker_) {
+ return std::unexpected(core::StoreError::NotFound);
+ }
+ return *btSpeaker_;
+ }
+
+ [[nodiscard]] std::expected clearBtSpeakerTarget()
+ override
+ {
+ btSpeaker_.reset();
+ return {};
+ }
+
+ [[nodiscard]] bool hasWebRadioConfig() const override
+ {
+ return webRadioJson_.has_value();
+ }
+
+ [[nodiscard]] std::expected
+ saveWebRadioConfigJson(std::string_view json) override
+ {
+ webRadioJson_ = std::string(json);
+ return {};
+ }
+
+ [[nodiscard]] std::expected
+ loadWebRadioConfigJson() const override
+ {
+ if (!webRadioJson_) {
+ return std::unexpected(core::StoreError::NotFound);
+ }
+ return *webRadioJson_;
+ }
+
private:
std::optional stationJson_;
std::optional lastPresetIndex_;
+ std::optional btSpeaker_;
+ std::optional webRadioJson_;
};
[[nodiscard]] core::Station makeFmStation(const char* name, std::uint32_t khz)
diff --git a/Software/components/core/test/station_service_test.cpp b/Software/components/core/test/station_service_test.cpp
index 43c661b..d82a267 100644
--- a/Software/components/core/test/station_service_test.cpp
+++ b/Software/components/core/test/station_service_test.cpp
@@ -171,9 +171,54 @@ public:
return {};
}
+ [[nodiscard]] bool hasBtSpeakerTarget() const override
+ {
+ return false;
+ }
+
+ [[nodiscard]] std::expected saveBtSpeakerTarget(
+ const core::BtSpeakerTarget&) override
+ {
+ return {};
+ }
+
+ [[nodiscard]] std::expected
+ loadBtSpeakerTarget() const override
+ {
+ return std::unexpected(core::StoreError::NotFound);
+ }
+
+ [[nodiscard]] std::expected clearBtSpeakerTarget()
+ override
+ {
+ return {};
+ }
+
+ [[nodiscard]] bool hasWebRadioConfig() const override
+ {
+ return webRadioJson_.has_value();
+ }
+
+ [[nodiscard]] std::expected
+ saveWebRadioConfigJson(std::string_view json) override
+ {
+ webRadioJson_ = std::string(json);
+ return {};
+ }
+
+ [[nodiscard]] std::expected
+ loadWebRadioConfigJson() const override
+ {
+ if (!webRadioJson_) {
+ return std::unexpected(core::StoreError::NotFound);
+ }
+ return *webRadioJson_;
+ }
+
private:
std::optional stationJson_;
std::optional lastPresetIndex_;
+ std::optional webRadioJson_;
};
[[nodiscard]] core::Station makeFmStation(const char* name, std::uint32_t khz)
diff --git a/Software/components/core/test/web_radio_json_test.cpp b/Software/components/core/test/web_radio_json_test.cpp
new file mode 100644
index 0000000..891a111
--- /dev/null
+++ b/Software/components/core/test/web_radio_json_test.cpp
@@ -0,0 +1,73 @@
+/**
+ * @file web_radio_json_test.cpp
+ * @brief Host tests for WebRadioConfig JSON round-trip.
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-08
+ */
+
+#include "core/WebRadioJson.hpp"
+
+#include
+#include
+
+namespace {
+
+[[nodiscard]] int runRoundTripTest()
+{
+ const core::WebRadioConfig config{
+ .enabled = true, .url = "http://edge.radiomontecarlo.net/RMC.mp3"};
+ const std::string json = core::serializeWebRadioConfigJson(config);
+ const auto parsed = core::parseWebRadioConfigJson(json);
+ if (!parsed || parsed->enabled != true || parsed->url != config.url) {
+ std::cerr << "round-trip mismatch\n";
+ return EXIT_FAILURE;
+ }
+ return EXIT_SUCCESS;
+}
+
+[[nodiscard]] int runValidationTest()
+{
+ const auto missingUrl =
+ core::parseWebRadioConfigJson(R"({"enabled":false})");
+ if (missingUrl) {
+ std::cerr << "missing url should fail\n";
+ return EXIT_FAILURE;
+ }
+ const auto badScheme = core::parseWebRadioConfigJson(
+ R"({"enabled":true,"url":"https://example.com/x.mp3"})");
+ if (badScheme) {
+ std::cerr << "non-http scheme should fail\n";
+ return EXIT_FAILURE;
+ }
+ const auto malformed = core::parseWebRadioConfigJson("not json");
+ if (malformed) {
+ std::cerr << "malformed body should fail\n";
+ return EXIT_FAILURE;
+ }
+ const auto ok = core::parseWebRadioConfigJson(
+ R"({"enabled":false,"url":"http://example.com/x.mp3"})");
+ if (!ok || ok->enabled != false) {
+ std::cerr << "valid disabled config should parse\n";
+ return EXIT_FAILURE;
+ }
+ return EXIT_SUCCESS;
+}
+
+} // namespace
+
+int main()
+{
+ if (runRoundTripTest() != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
+ if (runValidationTest() != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
+ return EXIT_SUCCESS;
+}
diff --git a/Software/components/core/test/wifi_scan_test.cpp b/Software/components/core/test/wifi_scan_test.cpp
new file mode 100644
index 0000000..a36c7a5
--- /dev/null
+++ b/Software/components/core/test/wifi_scan_test.cpp
@@ -0,0 +1,121 @@
+/**
+ * @file wifi_scan_test.cpp
+ * @brief Host tests for Wi-Fi scan JSON serialisation.
+ *
+ * DigiRadio firmware — https://github.com/manvalan/DigiRadio
+ *
+ * Copyright 2026 Michele Bigi
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+
+#include "core/WifiScanJson.hpp"
+
+#include
+#include
+#include
+#include
+
+namespace {
+
+/**
+ * @brief expectEqual — assert two strings match.
+ *
+ * @dname expectEqual
+ * @param actual Observed value.
+ * @param expected Expected value.
+ * @return true when equal.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] bool expectEqual(const std::string& actual,
+ const std::string& expected)
+{
+ if (actual == expected) {
+ return true;
+ }
+ std::cerr << "expected: " << expected << "\nactual: " << actual << '\n';
+ return false;
+}
+
+/**
+ * @brief runWifiScanSerialiseTest — verify scan list JSON shape.
+ *
+ * @dname runWifiScanSerialiseTest
+ * @return EXIT_SUCCESS or EXIT_FAILURE.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] int runWifiScanSerialiseTest()
+{
+ const std::vector networks = {
+ {
+ .ssid = "HomeNet",
+ .rssiDbm = -42,
+ .auth = "wpa2",
+ .channel = 6,
+ },
+ {
+ .ssid = "Guest\"WiFi",
+ .rssiDbm = -71,
+ .auth = "open",
+ .channel = 11,
+ },
+ };
+
+ const std::string json = core::serializeWifiScanJson(networks);
+ const std::string expected =
+ R"({"networks":[{"ssid":"HomeNet","rssi_dbm":-42,"auth":"wpa2","channel":6},{"ssid":"Guest\"WiFi","rssi_dbm":-71,"auth":"open","channel":11}]})";
+ if (!expectEqual(json, expected)) {
+ return EXIT_FAILURE;
+ }
+ return EXIT_SUCCESS;
+}
+
+/**
+ * @brief runWifiScanErrorSerialiseTest — verify error JSON.
+ *
+ * @dname runWifiScanErrorSerialiseTest
+ * @return EXIT_SUCCESS or EXIT_FAILURE.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+[[nodiscard]] int runWifiScanErrorSerialiseTest()
+{
+ if (!expectEqual(core::serializeWifiScanErrorJson("scan_failed"),
+ R"({"status":"error","reason":"scan_failed"})")) {
+ return EXIT_FAILURE;
+ }
+ return EXIT_SUCCESS;
+}
+
+} // namespace
+
+/**
+ * @brief main — host test entry point.
+ *
+ * @dname main
+ * @return EXIT_SUCCESS when all tests pass.
+ * @pubstate none
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+int main()
+{
+ if (runWifiScanSerialiseTest() != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
+ if (runWifiScanErrorSerialiseTest() != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
+ return EXIT_SUCCESS;
+}
diff --git a/Software/components/drivers/adau1701/include/adau1701/Adau1701Driver.hpp b/Software/components/drivers/adau1701/include/adau1701/Adau1701Driver.hpp
index acf6753..a94d7a5 100644
--- a/Software/components/drivers/adau1701/include/adau1701/Adau1701Driver.hpp
+++ b/Software/components/drivers/adau1701/include/adau1701/Adau1701Driver.hpp
@@ -220,6 +220,20 @@ public:
core::EqBandIndex band, core::GainDb gain, core::FrequencyHz center,
float q);
+ /**
+ * @brief setBeepEnabled — gate the SigmaStudio Beep1 tone generator.
+ *
+ * @dname setBeepEnabled
+ * @param enabled true unmutes Beep1, false mutes it.
+ * @return Ok on success, or Adau1701Error.
+ * @pubstate writes parameter RAM via safeload (ADDR_BEEP1_ENABLE).
+ *
+ * @author Michele Bigi
+ * @date 2026-08-07
+ */
+ [[nodiscard]] std::expected setBeepEnabled(
+ bool enabled);
+
private:
[[nodiscard]] std::expected ensureBooted() const;
[[nodiscard]] std::expected safeloadGain(
diff --git a/Software/components/drivers/adau1701/include/adau1701/Adau1701Dsp.hpp b/Software/components/drivers/adau1701/include/adau1701/Adau1701Dsp.hpp
index 8010271..fcd363f 100644
--- a/Software/components/drivers/adau1701/include/adau1701/Adau1701Dsp.hpp
+++ b/Software/components/drivers/adau1701/include/adau1701/Adau1701Dsp.hpp
@@ -61,6 +61,9 @@ public:
core::EqBandIndex band, core::GainDb gain, core::FrequencyHz center,
float q) override;
+ [[nodiscard]] std::expected setBeepEnabled(
+ bool enabled) override;
+
private:
[[nodiscard]] static core::DspError mapError(Adau1701Error error) noexcept;
diff --git a/Software/components/drivers/adau1701/src/Adau1701Driver.cpp b/Software/components/drivers/adau1701/src/Adau1701Driver.cpp
index bdad130..b049c16 100644
--- a/Software/components/drivers/adau1701/src/Adau1701Driver.cpp
+++ b/Software/components/drivers/adau1701/src/Adau1701Driver.cpp
@@ -27,273 +27,345 @@
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
-extern "C" {
+extern "C"
+{
} // extern "C"
-namespace adau1701 {
-
-namespace {
-constexpr char kTag[] = "Adau1701";
-constexpr int kI2cPort = 0;
-/** Index 0 is the fixed high-pass band (SigmaStudio band 1); not safeloaded. */
-constexpr std::uint8_t kFixedHighPassBandIndex = 0U;
-} // namespace
-
-Adau1701Driver::Adau1701Driver(Adau1701Pins pins,
- core::IDspProgramSource& programSource)
- : pins_(pins)
- , programSource_(programSource)
- , booted_(false)
- , i2cBus_(nullptr)
- , i2cDev_(nullptr)
+namespace adau1701
{
-}
-Adau1701Driver::~Adau1701Driver()
-{
- auto* dev = static_cast(i2cDev_);
- auto* bus = static_cast(i2cBus_);
- if (dev != nullptr) {
- i2c_master_bus_rm_device(dev);
+ namespace
+ {
+ constexpr char kTag[] = "Adau1701";
+ constexpr int kI2cPort = 0;
+ /** Index 0 is the fixed high-pass band (SigmaStudio band 1); not safeloaded. */
+ constexpr std::uint8_t kFixedHighPassBandIndex = 0U;
+ } // namespace
+
+ Adau1701Driver::Adau1701Driver(Adau1701Pins pins,
+ core::IDspProgramSource &programSource)
+ : pins_(pins), programSource_(programSource), booted_(false), i2cBus_(nullptr), i2cDev_(nullptr)
+ {
}
- if (bus != nullptr) {
- i2c_del_master_bus(bus);
- }
-}
-std::expected Adau1701Driver::replayProgram(
- const core::DspProgram& program)
-{
- const unsigned char deviceAddr =
- static_cast(pins_.i2cAddr7 << 1);
- for (const core::RegisterWrite& write : program.writes()) {
- const auto data = write.data();
- if (data.empty()) {
- return std::unexpected(Adau1701Error::DownloadFailed);
+ Adau1701Driver::~Adau1701Driver()
+ {
+ auto *dev = static_cast(i2cDev_);
+ auto *bus = static_cast(i2cBus_);
+ if (dev != nullptr)
+ {
+ i2c_master_bus_rm_device(dev);
+ }
+ if (bus != nullptr)
+ {
+ i2c_del_master_bus(bus);
}
- SIGMA_WRITE_REGISTER_BLOCK(
- deviceAddr,
- write.address(),
- static_cast(data.size()),
- const_cast(
- reinterpret_cast(data.data())));
}
- return {};
-}
-std::expected Adau1701Driver::boot()
-{
- if (booted_) {
+ std::expected Adau1701Driver::replayProgram(
+ const core::DspProgram &program)
+ {
+ const unsigned char deviceAddr =
+ static_cast(pins_.i2cAddr7 << 1);
+ for (const core::RegisterWrite &write : program.writes())
+ {
+ const auto data = write.data();
+ if (data.empty())
+ {
+ return std::unexpected(Adau1701Error::DownloadFailed);
+ }
+ SIGMA_WRITE_REGISTER_BLOCK(
+ deviceAddr,
+ write.address(),
+ static_cast(data.size()),
+ const_cast(
+ reinterpret_cast(data.data())));
+ }
return {};
}
- gpio_config_t resetCfg = {};
- resetCfg.pin_bit_mask = 1ULL << pins_.resetGpio;
- resetCfg.mode = GPIO_MODE_OUTPUT;
- if (gpio_config(&resetCfg) != ESP_OK) {
- return std::unexpected(Adau1701Error::ResetFailed);
- }
-
- gpio_set_level(static_cast(pins_.resetGpio), 0);
- vTaskDelay(pdMS_TO_TICKS(10));
- gpio_set_level(static_cast(pins_.resetGpio), 1);
- vTaskDelay(pdMS_TO_TICKS(10));
-
- i2c_master_bus_config_t busCfg = {};
- busCfg.i2c_port = static_cast(kI2cPort);
- busCfg.sda_io_num = static_cast(pins_.i2cSda);
- busCfg.scl_io_num = static_cast(pins_.i2cScl);
- busCfg.clk_source = I2C_CLK_SRC_DEFAULT;
- busCfg.glitch_ignore_cnt = 7;
- busCfg.flags.enable_internal_pullup = true;
-
- i2c_master_bus_handle_t bus = nullptr;
- if (i2c_new_master_bus(&busCfg, &bus) != ESP_OK) {
- ESP_LOGE(kTag, "i2c_new_master_bus failed");
- return std::unexpected(Adau1701Error::I2cInitFailed);
- }
- i2cBus_ = bus;
-
- i2c_device_config_t devCfg = {};
- devCfg.dev_addr_length = I2C_ADDR_BIT_LEN_7;
- devCfg.device_address = static_cast(pins_.i2cAddr7);
- devCfg.scl_speed_hz = 100000;
-
- i2c_master_dev_handle_t dev = nullptr;
- if (i2c_master_bus_add_device(bus, &devCfg, &dev) != ESP_OK) {
- ESP_LOGE(kTag, "i2c_master_bus_add_device failed");
- return std::unexpected(Adau1701Error::I2cInitFailed);
- }
- i2cDev_ = dev;
-
- sigma_studio_bind_i2c(kI2cPort, static_cast(pins_.i2cAddr7));
- sigma_studio_set_device(dev);
-
- const auto program = programSource_.loadProgram();
- if (!program) {
- ESP_LOGE(kTag, "DSP program load failed");
- return std::unexpected(Adau1701Error::DownloadFailed);
- }
- if (auto replay = replayProgram(*program); !replay) {
- return replay;
- }
-
- booted_ = true;
- ESP_LOGI(kTag, "SigmaStudio program loaded");
- return {};
-}
-
-bool Adau1701Driver::isBooted() const noexcept
-{
- return booted_;
-}
-
-void* Adau1701Driver::i2cBusHandle() const noexcept
-{
- return i2cBus_;
-}
-
-std::expected Adau1701Driver::ensureBooted() const
-{
- if (!booted_) {
- return std::unexpected(Adau1701Error::NotBooted);
- }
- return {};
-}
-
-std::expected Adau1701Driver::safeloadFixpoint(
- unsigned paramAddr, std::int32_t fixpoint)
-{
- if (sigma_safeload_param(paramAddr, fixpoint) != 0) {
- return std::unexpected(Adau1701Error::SafeloadFailed);
- }
- return {};
-}
-
-std::expected Adau1701Driver::safeloadGain(
- unsigned paramAddr, core::GainDb gain)
-{
- return safeloadFixpoint(paramAddr, core::gainDbToLinearFixpoint(gain));
-}
-
-std::expected Adau1701Driver::setInputVolume(
- core::MixSource source, core::GainDb left, core::GainDb right)
-{
- if (auto ready = ensureBooted(); !ready) {
- return ready;
- }
- if (auto result = safeloadGain(paramAddrInputLeft(source), left); !result) {
- return result;
- }
- return safeloadGain(paramAddrInputRight(source), right);
-}
-
-std::expected Adau1701Driver::setMasterVolume(
- core::GainDb left, core::GainDb right)
-{
- if (auto ready = ensureBooted(); !ready) {
- return ready;
- }
- if (auto result = safeloadGain(static_cast(ADDR_MULTIPLE1), left);
- !result) {
- return result;
- }
- return safeloadGain(static_cast(ADDR_MULTIPLE1_1), right);
-}
-
-std::expected Adau1701Driver::applyMixer(
- const core::MixerState& mixer)
-{
- if (auto ready = ensureBooted(); !ready) {
- return ready;
- }
- if (auto result = setInputVolume(core::MixSource::Si4684, mixer.si4684Left,
- mixer.si4684Right);
- !result) {
- return result;
- }
- if (auto result = setInputVolume(core::MixSource::Esp32, mixer.esp32Left,
- mixer.esp32Right);
- !result) {
- return result;
- }
- if (auto result =
- safeloadGain(static_cast(ADDR_STMIXER1_ST0_VOLUME),
- mixer.mixLeft);
- !result) {
- return result;
- }
- return safeloadGain(static_cast(ADDR_STMIXER1_ST1_VOLUME),
- mixer.mixRight);
-}
-
-std::expected Adau1701Driver::setEqBand(
- core::EqBandIndex band, core::GainDb gain, core::FrequencyHz center, float q)
-{
- if (band.value() == kFixedHighPassBandIndex) {
- return std::unexpected(Adau1701Error::InvalidParameter);
- }
-
- if (auto ready = ensureBooted(); !ready) {
- return ready;
- }
-
- const core::BiquadCoefficients coeffs =
- core::designPeakingEq(center, gain, q);
- const auto fixpoints = coeffs.toFixpoint823();
- const unsigned baseAddr = paramAddrEqBandBase(band.value());
-
- unsigned addrs[5U];
- int values[5U];
- for (unsigned i = 0U; i < 5U; ++i) {
- addrs[i] = baseAddr + i;
- values[i] = fixpoints[i];
- }
-
- if (sigma_safeload_block(5U, addrs, values) != 0) {
- return std::unexpected(Adau1701Error::SafeloadFailed);
- }
- return {};
-}
-
-std::expected Adau1701Driver::applyEq(
- const core::EqProfile& eq)
-{
- if (auto ready = ensureBooted(); !ready) {
- return ready;
- }
-
- for (std::uint8_t i = 0; i < core::EqBandIndex::kBandCount; ++i) {
- if (i == kFixedHighPassBandIndex) {
- continue;
+ std::expected Adau1701Driver::boot()
+ {
+ if (booted_)
+ {
+ return {};
}
- const auto index = core::EqBandIndex::tryFromIndex(i);
- if (!index) {
+
+ gpio_config_t resetCfg = {};
+ resetCfg.pin_bit_mask = 1ULL << pins_.resetGpio;
+ resetCfg.mode = GPIO_MODE_OUTPUT;
+ if (gpio_config(&resetCfg) != ESP_OK)
+ {
+ return std::unexpected(Adau1701Error::ResetFailed);
+ }
+
+ gpio_set_level(static_cast(pins_.resetGpio), 0);
+ vTaskDelay(pdMS_TO_TICKS(10));
+ gpio_set_level(static_cast(pins_.resetGpio), 1);
+ vTaskDelay(pdMS_TO_TICKS(10));
+
+ i2c_master_bus_config_t busCfg = {};
+ busCfg.i2c_port = static_cast(kI2cPort);
+ busCfg.sda_io_num = static_cast(pins_.i2cSda);
+ busCfg.scl_io_num = static_cast(pins_.i2cScl);
+ busCfg.clk_source = I2C_CLK_SRC_DEFAULT;
+ busCfg.glitch_ignore_cnt = 7;
+ busCfg.flags.enable_internal_pullup = true;
+
+ i2c_master_bus_handle_t bus = nullptr;
+ if (i2c_new_master_bus(&busCfg, &bus) != ESP_OK)
+ {
+ ESP_LOGE(kTag, "i2c_new_master_bus failed");
+ return std::unexpected(Adau1701Error::I2cInitFailed);
+ }
+ i2cBus_ = bus;
+
+ i2c_device_config_t devCfg = {};
+ devCfg.dev_addr_length = I2C_ADDR_BIT_LEN_7;
+ devCfg.device_address = static_cast(pins_.i2cAddr7);
+ devCfg.scl_speed_hz = 100000;
+
+ i2c_master_dev_handle_t dev = nullptr;
+ if (i2c_master_bus_add_device(bus, &devCfg, &dev) != ESP_OK)
+ {
+ ESP_LOGE(kTag, "i2c_master_bus_add_device failed");
+ return std::unexpected(Adau1701Error::I2cInitFailed);
+ }
+ i2cDev_ = dev;
+
+ sigma_studio_bind_i2c(kI2cPort, static_cast(pins_.i2cAddr7));
+ sigma_studio_set_device(dev);
+
+ const auto program = programSource_.loadProgram();
+ if (!program)
+ {
+ ESP_LOGE(kTag, "DSP program load failed");
+ return std::unexpected(Adau1701Error::DownloadFailed);
+ }
+ ESP_LOGI(kTag,
+ "DSP program contains %u writes",
+ static_cast(program->writes().size()));
+ for (const auto &w : program->writes())
+ {
+ ESP_LOGI(kTag,
+ "ADDR=0x%04X LEN=%u",
+ static_cast(w.address()),
+ static_cast(w.data().size()));
+ }
+ if (auto replay = replayProgram(*program); !replay)
+ {
+ return replay;
+ }
+
+ booted_ = true;
+ ESP_LOGI(kTag, "SigmaStudio program loaded");
+ return {};
+ }
+
+ bool Adau1701Driver::isBooted() const noexcept
+ {
+ return booted_;
+ }
+
+ void *Adau1701Driver::i2cBusHandle() const noexcept
+ {
+ return i2cBus_;
+ }
+
+ std::expected Adau1701Driver::ensureBooted() const
+ {
+ if (!booted_)
+ {
+ return std::unexpected(Adau1701Error::NotBooted);
+ }
+ return {};
+ }
+
+ std::expected Adau1701Driver::safeloadFixpoint(
+ unsigned paramAddr, std::int32_t fixpoint)
+ {
+ sigma_studio_lock();
+ const int result = sigma_safeload_param(paramAddr, fixpoint);
+ sigma_studio_unlock();
+ if (result != 0)
+ {
return std::unexpected(Adau1701Error::SafeloadFailed);
}
- const core::EqBandSettings& band = eq.band(*index);
- if (auto result = setEqBand(*index, band.gain, band.center, band.q);
- !result) {
+ return {};
+ }
+
+ std::expected Adau1701Driver::safeloadGain(
+ unsigned paramAddr, core::GainDb gain)
+ {
+ return safeloadFixpoint(paramAddr, core::gainDbToLinearFixpoint(gain));
+ }
+
+ std::expected Adau1701Driver::setInputVolume(
+ core::MixSource source, core::GainDb left, core::GainDb right)
+ {
+ if (auto ready = ensureBooted(); !ready)
+ {
+ return ready;
+ }
+ if (auto result = safeloadGain(paramAddrInputLeft(source), left); !result)
+ {
return result;
}
+ return safeloadGain(paramAddrInputRight(source), right);
}
- return {};
-}
-std::expected Adau1701Driver::applyProfile(
- const core::AudioProfile& profile)
-{
- if (auto ready = ensureBooted(); !ready) {
- return ready;
+ std::expected Adau1701Driver::setMasterVolume(
+ core::GainDb left, core::GainDb right)
+ {
+ if (auto ready = ensureBooted(); !ready)
+ {
+ return ready;
+ }
+ if (auto result = safeloadGain(static_cast(ADDR_MULTIPLE1), left);
+ !result)
+ {
+ return result;
+ }
+ return safeloadGain(static_cast(ADDR_MULTIPLE1_1), right);
}
- if (auto result = applyMixer(profile.mixer); !result) {
- return result;
+
+ std::expected Adau1701Driver::applyMixer(
+ const core::MixerState &mixer)
+ {
+ if (auto ready = ensureBooted(); !ready)
+ {
+ return ready;
+ }
+ if (auto result = setInputVolume(core::MixSource::Si4684, mixer.si4684Left,
+ mixer.si4684Right);
+ !result)
+ {
+ return result;
+ }
+ if (auto result = setInputVolume(core::MixSource::Esp32, mixer.esp32Left,
+ mixer.esp32Right);
+ !result)
+ {
+ return result;
+ }
+ if (auto result =
+ safeloadGain(static_cast(ADDR_STMIXER1_ST0_VOLUME),
+ mixer.mixLeft);
+ !result)
+ {
+ return result;
+ }
+ return safeloadGain(static_cast(ADDR_STMIXER1_ST1_VOLUME),
+ mixer.mixRight);
}
- if (auto result = applyEq(profile.eq); !result) {
- return result;
+
+ std::expected Adau1701Driver::setEqBand(
+ core::EqBandIndex band, core::GainDb gain, core::FrequencyHz center, float q)
+ {
+ if (band.value() == kFixedHighPassBandIndex)
+ {
+ return std::unexpected(Adau1701Error::InvalidParameter);
+ }
+
+ if (auto ready = ensureBooted(); !ready)
+ {
+ return ready;
+ }
+
+ const core::BiquadCoefficients coeffs =
+ core::designPeakingEq(center, gain, q);
+ const auto fixpoints = coeffs.toFixpoint823();
+ const unsigned baseAddr = paramAddrEqBandBase(band.value());
+
+ unsigned addrs[5U];
+ int values[5U];
+ for (unsigned i = 0U; i < 5U; ++i)
+ {
+ addrs[i] = baseAddr + i;
+ values[i] = fixpoints[i];
+ }
+
+ sigma_studio_lock();
+ const int result = sigma_safeload_block(5U, addrs, values);
+ sigma_studio_unlock();
+ if (result != 0)
+ {
+ return std::unexpected(Adau1701Error::SafeloadFailed);
+ }
+ return {};
+ }
+
+ std::expected Adau1701Driver::setBeepEnabled(
+ bool enabled)
+ {
+ if (auto ready = ensureBooted(); !ready)
+ {
+ return ready;
+ }
+ // Beep1 ("Beep - variable gain", ADI Sound Generation toolbox,
+ // DigiRadio.params) ENABLE/KICK: unity fixpoint 0x00800000 = on,
+ // exact zero = off. Not continuous gains, so bypass
+ // safeloadGain/GainDb (whose quietest value is -96 dB, not true
+ // zero) and write the raw fixpoint. KICK is the cell's trigger
+ // input (per its own SigmaStudio parameter name); ENABLE alone
+ // may leave the generator gated shut without it.
+ const std::int32_t value =
+ enabled ? core::gainDbToLinearFixpoint(core::GainDb::zero()) : 0;
+ if (auto result = safeloadFixpoint(
+ static_cast(ADDR_BEEP1_ENABLE), value);
+ !result)
+ {
+ return result;
+ }
+ return safeloadFixpoint(static_cast(ADDR_BEEP1_KICK), value);
+ }
+
+ std::expected Adau1701Driver::applyEq(
+ const core::EqProfile &eq)
+ {
+ if (auto ready = ensureBooted(); !ready)
+ {
+ return ready;
+ }
+
+ for (std::uint8_t i = 0; i < core::EqBandIndex::kBandCount; ++i)
+ {
+ if (i == kFixedHighPassBandIndex)
+ {
+ continue;
+ }
+ const auto index = core::EqBandIndex::tryFromIndex(i);
+ if (!index)
+ {
+ return std::unexpected(Adau1701Error::SafeloadFailed);
+ }
+ const core::EqBandSettings &band = eq.band(*index);
+ if (auto result = setEqBand(*index, band.gain, band.center, band.q);
+ !result)
+ {
+ return result;
+ }
+ }
+ return {};
+ }
+
+ std::expected Adau1701Driver::applyProfile(
+ const core::AudioProfile &profile)
+ {
+ if (auto ready = ensureBooted(); !ready)
+ {
+ return ready;
+ }
+ if (auto result = applyMixer(profile.mixer); !result)
+ {
+ return result;
+ }
+ if (auto result = applyEq(profile.eq); !result)
+ {
+ return result;
+ }
+ return setMasterVolume(profile.masterLeft, profile.masterRight);
}
- return setMasterVolume(profile.masterLeft, profile.masterRight);
-}
} // namespace adau1701
diff --git a/Software/components/drivers/adau1701/src/Adau1701Dsp.cpp b/Software/components/drivers/adau1701/src/Adau1701Dsp.cpp
index 1a0834b..c570867 100644
--- a/Software/components/drivers/adau1701/src/Adau1701Dsp.cpp
+++ b/Software/components/drivers/adau1701/src/Adau1701Dsp.cpp
@@ -89,4 +89,12 @@ std::expected Adau1701Dsp::setEqBand(
return {};
}
+std::expected Adau1701Dsp::setBeepEnabled(bool enabled)
+{
+ if (auto result = driver_.setBeepEnabled(enabled); !result) {
+ return std::unexpected(mapError(result.error()));
+ }
+ return {};
+}
+
} // namespace adau1701
diff --git a/Software/components/drivers/adau1701/src/FlashDspProgramSource.cpp b/Software/components/drivers/adau1701/src/FlashDspProgramSource.cpp
index b9a6d15..308a88d 100644
--- a/Software/components/drivers/adau1701/src/FlashDspProgramSource.cpp
+++ b/Software/components/drivers/adau1701/src/FlashDspProgramSource.cpp
@@ -18,7 +18,7 @@
#include "esp_log.h"
#include "esp_partition.h"
-#include
+#include
#include
namespace adau1701 {
@@ -75,26 +75,60 @@ FlashDspProgramSource::loadProgram()
return std::unexpected(core::DspProgramError::Empty);
}
- // Partizione non vuota: alloca il backing store con new(nothrow), cosi'
- // un OOM ritorna nullptr invece di abortire (nessuna eccezione).
- auto* raw = new (std::nothrow) std::uint8_t[part->size];
+ // Determine exact blob size by scanning DRAD write records before
+ // allocating — the full partition (256 KB) exceeds the available heap
+ // on ESP32-S3, and new(nothrow) still invokes __cxa_allocate_exception
+ // when exceptions are disabled, causing abort().
+
+ // Read DRAD header (12 bytes) to get write_count.
+ constexpr std::size_t kHdrSize = 12U;
+ std::uint8_t hdr[kHdrSize] = {};
+ if (esp_partition_read(part, 0, hdr, kHdrSize) != ESP_OK) {
+ return std::unexpected(core::DspProgramError::FlashReadFailed);
+ }
+ // Quick magic/version check (full validation done by parseDspProgramBlob).
+ if (hdr[0] != 'D' || hdr[1] != 'R' || hdr[2] != 'A' || hdr[3] != 'D'
+ || static_cast(hdr[4] | (hdr[5] << 8)) != 1U) {
+ return std::unexpected(core::DspProgramError::FlashReadFailed);
+ }
+ const auto writeCount =
+ static_cast(hdr[6] | (hdr[7] << 8));
+ if (writeCount == 0U || writeCount > 32U) {
+ return std::unexpected(core::DspProgramError::FlashReadFailed);
+ }
+
+ // Scan write record headers (4 bytes each) to compute total payload size.
+ std::size_t payloadSize = 0U;
+ for (std::uint16_t i = 0U; i < writeCount; ++i) {
+ std::uint8_t rec[4] = {};
+ if (esp_partition_read(part, kHdrSize + payloadSize, rec, 4U)
+ != ESP_OK) {
+ return std::unexpected(core::DspProgramError::FlashReadFailed);
+ }
+ const auto dataLen =
+ static_cast(rec[2] | (rec[3] << 8));
+ if (dataLen == 0U || dataLen > 16384U) {
+ return std::unexpected(core::DspProgramError::FlashReadFailed);
+ }
+ payloadSize += 4U + dataLen;
+ }
+
+ const std::size_t totalSize = kHdrSize + payloadSize;
+
+ // Use malloc — avoids C++ exception machinery entirely (no nothrow workaround).
+ auto* raw = static_cast(::malloc(totalSize));
if (raw == nullptr) {
- ESP_LOGE(kTag, "dsp buffer alloc failed (%u byte)",
- static_cast(part->size));
+ ESP_LOGE(kTag, "dsp buffer alloc failed (%u bytes)",
+ static_cast(totalSize));
return std::unexpected(core::DspProgramError::FlashReadFailed);
}
- std::unique_ptr guard(raw);
+ std::unique_ptr guard(raw, ::free);
- if (esp_partition_read(part, 0, raw, part->size) != ESP_OK) {
+ if (esp_partition_read(part, 0, raw, totalSize) != ESP_OK) {
return std::unexpected(core::DspProgramError::FlashReadFailed);
}
- std::span view(raw, part->size);
- if (partitionLooksEmpty(view)) {
- return std::unexpected(core::DspProgramError::Empty);
- }
-
- return core::parseDspProgramBlob(view);
+ return core::parseDspProgramBlob({raw, totalSize});
}
std::expected
diff --git a/Software/components/drivers/adau1701/src/SigmaStudioFW.c b/Software/components/drivers/adau1701/src/SigmaStudioFW.c
index a02e89d..7364376 100644
--- a/Software/components/drivers/adau1701/src/SigmaStudioFW.c
+++ b/Software/components/drivers/adau1701/src/SigmaStudioFW.c
@@ -14,10 +14,13 @@
#include "SigmaStudioFW.h"
#include "driver/i2c_master.h"
+#include "freertos/FreeRTOS.h"
+#include "freertos/semphr.h"
#include
static i2c_master_dev_handle_t s_dev = NULL;
+static SemaphoreHandle_t s_lock = NULL;
void sigma_studio_bind_i2c(int port, unsigned char addr7)
{
@@ -28,6 +31,45 @@ void sigma_studio_bind_i2c(int port, unsigned char addr7)
void sigma_studio_set_device(void* i2cDevHandle)
{
s_dev = (i2c_master_dev_handle_t)i2cDevHandle;
+ if (s_lock == NULL) {
+ s_lock = xSemaphoreCreateMutex();
+ }
+}
+
+void sigma_studio_lock(void)
+{
+ if (s_lock != NULL) {
+ xSemaphoreTake(s_lock, portMAX_DELAY);
+ }
+}
+
+void sigma_studio_unlock(void)
+{
+ if (s_lock != NULL) {
+ xSemaphoreGive(s_lock);
+ }
+}
+
+/*
+ * The ADAU1701 memory map is word-indexed with a region-dependent word
+ * width (Param RAM = 4 bytes, Program RAM = 5 bytes, Control regs =
+ * 2 bytes) — confirmed by DigiRadio's own generated export
+ * (DigiRadio_IC_1.h: PROGRAM_ADDR_IC_1=1024/PROGRAM_SIZE_IC_1=5120,
+ * PARAM_ADDR_IC_1=0/PARAM_SIZE_IC_1=4096; DigiRadio_IC_1_REG.h:
+ * REG_COREREGISTER_IC_1_ADDR=0x81C) and independently by the
+ * ADAU1701-TCPi-ESP32 reference project's directWrite(). Chunk
+ * boundaries must land on whole words, or the address advance for the
+ * next I2C transaction (and the data itself, mid-word) is wrong.
+ */
+static unsigned int sigmaWordSize(unsigned int address)
+{
+ if (address >= 0x0400U && address <= 0x07FFU) {
+ return 5U;
+ }
+ if (address >= 0x0800U) {
+ return 2U;
+ }
+ return 4U;
}
void SIGMA_WRITE_REGISTER_BLOCK(unsigned char devAddress,
@@ -40,25 +82,45 @@ void SIGMA_WRITE_REGISTER_BLOCK(unsigned char devAddress,
return;
}
- enum { kChunk = 64U };
+ enum { kChunkBytesMax = 64U };
+ const unsigned int wordSize = sigmaWordSize(address);
+ const unsigned int wordsPerChunk = kChunkBytesMax / wordSize;
+ const unsigned int chunkBytes = wordsPerChunk * wordSize;
+
unsigned int addr = address;
unsigned int remaining = length;
ADI_REG_TYPE* cursor = pData;
while (remaining > 0U) {
const unsigned int chunk =
- remaining > kChunk ? kChunk : remaining;
- unsigned char buf[2U + 64U];
+ remaining > chunkBytes ? chunkBytes : remaining;
+ const unsigned int words = chunk / wordSize;
+ unsigned char buf[2U + kChunkBytesMax];
buf[0] = (unsigned char)((addr >> 8) & 0xFFU);
buf[1] = (unsigned char)(addr & 0xFFU);
memcpy(buf + 2U, cursor, chunk);
i2c_master_transmit(s_dev, buf, (size_t)(2U + chunk), 1000);
- addr += chunk;
+ addr += words;
cursor += chunk;
remaining -= chunk;
}
}
+int sigma_i2c_read(unsigned int reg, unsigned char* data, unsigned int length)
+{
+ if (s_dev == NULL || data == NULL || length == 0U) {
+ return -1;
+ }
+
+ unsigned char addrBuf[2U];
+ addrBuf[0] = (unsigned char)((reg >> 8) & 0xFFU);
+ addrBuf[1] = (unsigned char)(reg & 0xFFU);
+
+ const esp_err_t err = i2c_master_transmit_receive(
+ s_dev, addrBuf, sizeof(addrBuf), data, (size_t)length, 1000);
+ return err == ESP_OK ? 0 : -1;
+}
+
static int sigma_i2c_write(unsigned int reg, const unsigned char* data,
unsigned char length)
{
@@ -66,7 +128,7 @@ static int sigma_i2c_write(unsigned int reg, const unsigned char* data,
return -1;
}
- unsigned char buf[2U + 4U];
+ unsigned char buf[2U + 5U];
if ((size_t)length + 2U > sizeof(buf)) {
return -1;
}
@@ -78,14 +140,25 @@ static int sigma_i2c_write(unsigned int reg, const unsigned char* data,
return err == ESP_OK ? 0 : -1;
}
+/*
+ * Safeload Data registers are 5 bytes wide (fixed 0x00 qualifier byte +
+ * full sign-extended 32-bit value, MSB first) — confirmed against the
+ * ADAU1701-TCPi-ESP32 reference project's safeloadChunk(), which sends
+ * the identical 5-byte layout. `fixpoint` is a full-range Q8.23
+ * two's-complement value (core::floatToFixpoint823): the previous
+ * 4-byte payload here dropped the top (sign) byte entirely, silently
+ * corrupting every negative coefficient (e.g. biquad a1/b1, routinely
+ * negative for peaking/shelving EQ bands).
+ */
static int sigma_write_fixpoint_reg(unsigned int reg, int fixpoint)
{
- unsigned char payload[4U];
+ unsigned char payload[5U];
payload[0] = 0U;
- payload[1] = (unsigned char)((fixpoint >> 16) & 0xFFU);
- payload[2] = (unsigned char)((fixpoint >> 8) & 0xFFU);
- payload[3] = (unsigned char)(fixpoint & 0xFFU);
- return sigma_i2c_write(reg, payload, 4U);
+ payload[1] = (unsigned char)(((unsigned int)fixpoint >> 24) & 0xFFU);
+ payload[2] = (unsigned char)(((unsigned int)fixpoint >> 16) & 0xFFU);
+ payload[3] = (unsigned char)(((unsigned int)fixpoint >> 8) & 0xFFU);
+ payload[4] = (unsigned char)((unsigned int)fixpoint & 0xFFU);
+ return sigma_i2c_write(reg, payload, 5U);
}
static int sigma_write_param_addr(unsigned int reg, unsigned int paramAddr)
@@ -133,3 +206,30 @@ int sigma_safeload_block(unsigned char count, const unsigned int* paramAddrs,
return sigma_trigger_safeload();
}
+
+int sigma_safeload_raw_block(unsigned char count, const unsigned int* paramAddrs,
+ const unsigned char* rawWords)
+{
+ if (count == 0U || count > 5U || paramAddrs == NULL || rawWords == NULL) {
+ return -1;
+ }
+
+ for (unsigned char i = 0U; i < count; ++i) {
+ const unsigned int dataReg =
+ ADAU1701_SAFELOAD_DATA_BASE + (unsigned int)i;
+ const unsigned int addrReg =
+ ADAU1701_SAFELOAD_ADDR_BASE + (unsigned int)i;
+
+ unsigned char payload[5U];
+ payload[0] = 0U;
+ memcpy(payload + 1U, rawWords + ((unsigned int)i * 4U), 4U);
+ if (sigma_i2c_write(dataReg, payload, 5U) != 0) {
+ return -1;
+ }
+ if (sigma_write_param_addr(addrReg, paramAddrs[i]) != 0) {
+ return -1;
+ }
+ }
+
+ return sigma_trigger_safeload();
+}
diff --git a/Software/components/drivers/bt1035/include/bt1035/Bt1035Driver.hpp b/Software/components/drivers/bt1035/include/bt1035/Bt1035Driver.hpp
index c967d6e..5e02254 100644
--- a/Software/components/drivers/bt1035/include/bt1035/Bt1035Driver.hpp
+++ b/Software/components/drivers/bt1035/include/bt1035/Bt1035Driver.hpp
@@ -16,6 +16,7 @@
#include "core/Bt1035At.hpp"
+#include
#include
#include
#include
@@ -36,8 +37,6 @@ namespace bt1035 {
struct Bt1035Pins {
int uartTx; ///< ESP32 TX -> module RX.
int uartRx; ///< ESP32 RX <- module TX.
- int rtsGpio; ///< RTS (flow control).
- int ctsGpio; ///< CTS (flow control).
int resetGpio; ///< Module RESET (active level per schematic).
int sysCtlGpio; ///< SYS_CTL (optional module enable).
};
@@ -48,7 +47,7 @@ struct Bt1035Pins {
* @dname Bt1035Driver
* @return n/a (type)
* @pubstate Owns UART port after boot(). booted_ true after init sequence
- * including AT+AUXCFG=3 and AT+I2SCFG=67 (I2S slave from ADAU1701).
+ * including AT+AUXCFG=3 and AT+I2SCFG=35 (I2S slave from ADAU1701).
*
* @author Michele Bigi
* @date 2026-07-06
@@ -159,6 +158,22 @@ public:
[[nodiscard]] std::expected
queryA2dpState();
+ /**
+ * @brief queryA2dpEncoder — read negotiated A2DP codec (AT+A2DPENC).
+ *
+ * @dname queryA2dpEncoder
+ * @return Parsed codec on success, or Bt1035Error. Failing here while
+ * queryA2dpState() reports Streaming means the module has a
+ * link but is not actually encoding audio — a real fault,
+ * not just a quiet source.
+ * @pubstate writes UART; parses +A2DPENC from the reply.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-07
+ */
+ [[nodiscard]] std::expected
+ queryA2dpEncoder();
+
/**
* @brief disconnectA2dp — release the active A2DP session (AT+A2DPDISC).
*
@@ -236,15 +251,115 @@ public:
[[nodiscard]] std::expected, Bt1035Error>
queryPairedList();
+ /**
+ * @brief scanNearbyBrEdr — inquiry for nearby A2DP sink devices.
+ *
+ * @dname scanNearbyBrEdr
+ * @param scanSeconds BR/EDR scan duration 1–255 (default 20 in service).
+ * @return Parsed +SCAN entries, or Bt1035Error.
+ * @pubstate sends AT+SCAN=1,n and collects until +SCAN=E.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] std::expected, Bt1035Error>
+ scanNearbyBrEdr(std::uint8_t scanSeconds = 20U);
+
+ /**
+ * @brief stopScan — abort an active AT+SCAN inquiry.
+ *
+ * @dname stopScan
+ * @return Ok on success, or Bt1035Error.
+ * @pubstate sends AT+SCAN=0.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] std::expected stopScan();
+
+ /**
+ * @brief prepareForOutgoingConnect — disable auto-link before A2DPCONN.
+ *
+ * @dname prepareForOutgoingConnect
+ * @pubstate sends LINKCFG/AUTOCONN off; does not clear PLIST.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ void prepareForOutgoingConnect();
+
+ /**
+ * @brief waitForA2dpConnected — poll until A2DP link is up.
+ *
+ * @dname waitForA2dpConnected
+ * @param timeoutMs Maximum wait in milliseconds.
+ * @return true when Connected/Streaming/Paused, false on timeout.
+ * @pubstate polls AT+A2DPSTAT.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] bool waitForA2dpConnected(int timeoutMs);
+
+ /**
+ * @brief startA2dpAudio — send AT+A2DPAUDIO=1 (Feasycom §5.3.6).
+ *
+ * @dname startA2dpAudio
+ * @return Ok on module OK, or Bt1035Error.
+ * @pubstate writes UART.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] std::expected startA2dpAudio();
+
+ /**
+ * @brief waitForA2dpStreaming — poll until +A2DPSTAT=4 (Streaming).
+ *
+ * @dname waitForA2dpStreaming
+ * @param timeoutMs Maximum wait in milliseconds.
+ * @return true when Streaming, false on timeout.
+ * @pubstate polls AT+A2DPSTAT; sends A2DPAUDIO=1 when stuck at Connected.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] bool waitForA2dpStreaming(int timeoutMs);
+
+ /**
+ * @brief connectA2dp — pair/connect to a remote by MAC (AT+A2DPCONN).
+ *
+ * @dname connectA2dp
+ * @param mac 12-char ASCII MAC from scan results.
+ * @return Ok on success, or Bt1035Error.
+ * @pubstate may take several seconds while the module pairs.
+ *
+ * @author Michele Bigi
+ * @date 2026-08-05
+ */
+ [[nodiscard]] std::expected connectA2dp(
+ std::string_view mac);
+
private:
[[nodiscard]] std::expected ensureBooted() const;
[[nodiscard]] std::expected runInitSequence();
[[nodiscard]] std::expected transmitAndCollect(
std::string_view commandLine, int timeoutMs = kResponseTimeoutMs);
+ [[nodiscard]] std::expected transmitAndCollectUntil(
+ std::string_view commandLine, std::string_view endMarker, int timeoutMs,
+ std::uint8_t minScanSeconds = 0U);
[[nodiscard]] std::expected transmitAndExpectOk(
std::string_view commandLine);
+ [[nodiscard]] std::expected transmitAndExpectOkLogged(
+ std::string_view label, std::string_view commandLine);
+
+ void prepareForInquiryScan();
+ [[nodiscard]] bool waitForA2dpIdle(int timeoutMs);
+ [[nodiscard]] std::expected, Bt1035Error>
+ runInquiryScan(std::uint8_t scanType, std::uint8_t scanSeconds);
static constexpr int kResponseTimeoutMs = 2000;
+ static constexpr int kConnectTimeoutMs = 15000;
Bt1035Pins pins_;
bool booted_;
diff --git a/Software/components/drivers/bt1035/src/Bt1035Driver.cpp b/Software/components/drivers/bt1035/src/Bt1035Driver.cpp
index f87d684..285dd76 100644
--- a/Software/components/drivers/bt1035/src/Bt1035Driver.cpp
+++ b/Software/components/drivers/bt1035/src/Bt1035Driver.cpp
@@ -13,6 +13,7 @@
#include "bt1035/Bt1035Driver.hpp"
+#include "core/Bt1035ScannedDevice.hpp"
#include "driver/gpio.h"
#include "driver/uart.h"
#include "esp_log.h"
@@ -20,6 +21,8 @@
#include "freertos/task.h"
#include
+#include
+#include
#include
#include
#include
@@ -30,11 +33,218 @@ namespace {
constexpr char kTag[] = "Bt1035";
constexpr int kUartPort = 2;
constexpr int kBaudRate = 115200;
-constexpr int kUartRxBuffer = 512;
+constexpr int kUartRxBuffer = 4096;
constexpr int kUartTxBuffer = 256;
constexpr int kResponseTimeoutMs = 2000;
constexpr int kPostResetMs = 500;
constexpr int kPostUartMs = 100;
+
+void flushUartRx(int uartPort) noexcept
+{
+ uart_flush_input(static_cast(uartPort));
+ std::array discard{};
+ while (uart_read_bytes(static_cast(uartPort), discard.data(),
+ discard.size(), 0)
+ > 0) {
+ }
+}
+
+constexpr int kBrEdrScanTimeoutMs = 90000;
+constexpr int kScanProgressLogMs = 5000;
+constexpr int kScanIdleCompleteMs = 4000;
+constexpr int kDefaultScanListenSeconds = 25;
+constexpr unsigned long kDevStatScanComplete = 1U;
+
+void logAtLine(std::string_view label, std::string_view line) noexcept
+{
+ std::string sanitized;
+ sanitized.reserve(line.size());
+ for (const char ch : line) {
+ if (ch == '\r') {
+ sanitized.append("\\r");
+ } else if (ch == '\n') {
+ sanitized.append("\\n");
+ } else if (ch >= 0x20 && ch < 0x7F) {
+ sanitized.push_back(ch);
+ } else {
+ sanitized.push_back('.');
+ }
+ }
+ ESP_LOGI(kTag, "%.*s: %s", static_cast(label.size()), label.data(),
+ sanitized.c_str());
+}
+
+[[nodiscard]] bool responseHasScanEnd(std::string_view response) noexcept
+{
+ return response.find("+SCAN=E") != std::string_view::npos
+ || response.find("+SCAN= E") != std::string_view::npos
+ || response.find("+SCAN=END") != std::string_view::npos
+ || response.find("+SCAN= END") != std::string_view::npos;
+}
+
+[[nodiscard]] bool responseHasScanEntries(std::string_view response) noexcept
+{
+ return response.find("+SCAN=") != std::string_view::npos
+ || response.find("+SCAN =") != std::string_view::npos;
+}
+
+[[nodiscard]] bool responseHasDevStatScanComplete(
+ std::string_view response) noexcept
+{
+ if (!responseHasScanEntries(response)) {
+ return false;
+ }
+ constexpr std::string_view kPrefix = "+DEVSTAT=";
+ std::size_t pos = 0;
+ unsigned long lastValue = 0U;
+ bool found = false;
+ while ((pos = response.find(kPrefix, pos)) != std::string_view::npos) {
+ const std::size_t start = pos + kPrefix.size();
+ char* end = nullptr;
+ const unsigned long raw =
+ std::strtoul(response.data() + start, &end, 10);
+ if (end != response.data() + start) {
+ lastValue = raw;
+ found = true;
+ }
+ pos = start + 1U;
+ }
+ return found && lastValue == kDevStatScanComplete;
+}
+
+[[nodiscard]] std::size_t countScanEntries(std::string_view response) noexcept
+{
+ std::size_t count = 0U;
+ std::size_t pos = 0;
+ while ((pos = response.find("+SCAN=", pos)) != std::string_view::npos) {
+ const std::size_t valueStart = pos + 6U;
+ if (valueStart < response.size() && response[valueStart] != 'E') {
+ ++count;
+ }
+ pos = valueStart + 1U;
+ }
+ return count;
+}
+
+enum class ScanCollectReason {
+ EndMarker,
+ DevStatComplete,
+ IdleAfterScan,
+ TimeoutPartial,
+};
+
+[[nodiscard]] bool scanCollectionShouldStop(std::string_view response,
+ std::size_t scanEntryCount,
+ TickType_t lastRxTick,
+ TickType_t now,
+ TickType_t started,
+ std::uint8_t minScanSeconds,
+ ScanCollectReason* reason) noexcept
+{
+ if (!response.empty() && responseHasScanEnd(response)) {
+ if (reason != nullptr) {
+ *reason = ScanCollectReason::EndMarker;
+ }
+ return true;
+ }
+
+ const int elapsedMs = static_cast(pdTICKS_TO_MS(now - started));
+ const int minListenMs =
+ minScanSeconds > 0U
+ ? static_cast(minScanSeconds) * 1000
+ : kDefaultScanListenSeconds * 1000;
+ const bool minListenElapsed = elapsedMs >= minListenMs;
+
+ if (minListenElapsed && responseHasDevStatScanComplete(response)) {
+ if (reason != nullptr) {
+ *reason = ScanCollectReason::DevStatComplete;
+ }
+ return true;
+ }
+ if (minListenElapsed && scanEntryCount > 0U && lastRxTick > 0U
+ && (now - lastRxTick) >= pdMS_TO_TICKS(kScanIdleCompleteMs)) {
+ if (reason != nullptr) {
+ *reason = ScanCollectReason::IdleAfterScan;
+ }
+ return true;
+ }
+ return false;
+}
+
+void logScanRawPayload(std::string_view label, std::string_view response) noexcept
+{
+ if (response.empty()) {
+ ESP_LOGI(kTag, "%.*s (0 bytes)", static_cast(label.size()),
+ label.data());
+ return;
+ }
+ std::string sanitized;
+ sanitized.reserve(std::min(response.size(), std::size_t{512U}));
+ for (const char ch : response) {
+ if (ch == '\r') {
+ sanitized.append("\\r");
+ } else if (ch == '\n') {
+ sanitized.append("\\n");
+ } else if (ch >= 0x20 && ch < 0x7F) {
+ sanitized.push_back(ch);
+ } else {
+ sanitized.push_back('.');
+ }
+ }
+ constexpr std::size_t kChunk = 480U;
+ if (sanitized.size() <= kChunk) {
+ ESP_LOGI(kTag, "%.*s (%d bytes): %s",
+ static_cast(label.size()), label.data(),
+ static_cast(response.size()), sanitized.c_str());
+ return;
+ }
+ ESP_LOGI(kTag, "%.*s (%d bytes, part 1/%u): %.*s",
+ static_cast(label.size()), label.data(),
+ static_cast(response.size()),
+ static_cast(
+ (sanitized.size() + kChunk - 1U) / kChunk),
+ static_cast(kChunk), sanitized.c_str());
+ for (std::size_t off = kChunk; off < sanitized.size(); off += kChunk) {
+ const std::size_t len = std::min(kChunk, sanitized.size() - off);
+ ESP_LOGI(kTag, "%.*s (cont %u): %.*s",
+ static_cast(label.size()), label.data(),
+ static_cast(off / kChunk + 1U),
+ static_cast(len), sanitized.c_str() + off);
+ }
+}
+
+void logScanUartChunk(int received, std::string_view chunk) noexcept
+{
+ const std::string label = "scan UART RX +" + std::to_string(received);
+ logScanRawPayload(label, chunk);
+}
+
+[[nodiscard]] const char* scanCollectReasonLabel(
+ ScanCollectReason reason) noexcept
+{
+ switch (reason) {
+ case ScanCollectReason::EndMarker:
+ return "+SCAN=E/end marker";
+ case ScanCollectReason::DevStatComplete:
+ return "+DEVSTAT=1";
+ case ScanCollectReason::IdleAfterScan:
+ return "UART idle after +SCAN";
+ case ScanCollectReason::TimeoutPartial:
+ return "timeout";
+ }
+ return "unknown";
+}
+
+void logScanParsedDevice(const core::Bt1035ScannedDevice& device) noexcept
+{
+ ESP_LOGI(kTag,
+ "scan device[%u]: mac=%s name=%s rssi=%d dBm class=%s addrType=%u",
+ static_cast(device.index), device.mac.c_str(),
+ device.name.empty() ? "(no name)" : device.name.c_str(),
+ static_cast(device.rssiDbm),
+ device.deviceClass.empty() ? "-" : device.deviceClass.c_str(),
+ static_cast(device.addressType));
+}
} // namespace
Bt1035Driver::Bt1035Driver(Bt1035Pins pins)
@@ -102,6 +312,284 @@ std::expected