Allow areaId JSON fields to inherit from property fields.

Update json config parser to V2, which allows areaId fields, e.g.
minInt32Value to inherit from parent property fields.

This CL also updates the test JSON file to move the common fields
up one level to avoid duplication.

We increase the JSON file version because the new version is not
compatible with an older parser.

Test: atest FakeVehicleHardwareTest JsonConfigLoaderTest
Flag: EXEMPT refactor
Bug: 395147447
Change-Id: Ib0fa499e31888cfee197f6c4e44f73f509300a4f
diff --git a/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/include/JsonConfigLoader.h b/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/include/JsonConfigLoader.h
index 00c497f..9901db2 100644
--- a/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/include/JsonConfigLoader.h
+++ b/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/include/JsonConfigLoader.h
@@ -108,11 +108,23 @@
     // @param fieldIsOptional Whether the field is optional.
     // @param outPtr The pointer to output to if the field exists and parsing succeeded.
     // @param errors The error array to append error to if errors are found.
-    // @return true if the field is optional and does not exist or parsed successfully.
+    // @param found if not nullptr, this will be set to true if the field is found.
+    // @return true if parsed successfully or the field is optional and is not found.
     template <class T>
     bool tryParseJsonValueToVariable(const Json::Value& parentJsonNode,
                                      const std::string& fieldName, bool fieldIsOptional, T* outPtr,
+                                     std::vector<std::string>* errors, bool* found = nullptr);
+
+    // Tries to parse a JSON value to a specific type.
+    //
+    // This is similar to the previous version except that it tries to find the field in multiple
+    // parent nodes and will return early if the field is found in one parent node. This is useful
+    // when we allow the field to either come from vehicleArea fields or vehicleProperty fields.
+    template <class T>
+    bool tryParseJsonValueToVariable(std::vector<const Json::Value*> parentJsonNodePtrs,
+                                     const std::string& fieldName, bool fieldIsOptional, T* outPtr,
                                      std::vector<std::string>* errors);
+
     // Tries to parse a JSON value to an array of specific type.
     //
     // If fieldIsOptional is True, then if the field specified by "fieldName" does not exist,
@@ -127,7 +139,19 @@
     template <class T>
     bool tryParseJsonArrayToVariable(const Json::Value& parentJsonNode,
                                      const std::string& fieldName, bool fieldIsOptional,
+                                     std::vector<T>* outPtr, std::vector<std::string>* errors,
+                                     bool* found = nullptr);
+
+    // Tries to parse a JSON value to an array of specific type.
+    //
+    // This is similar to the previous version except that it tries to find the field in multiple
+    // parent nodes and will return early if the field is found in one parent node. This is useful
+    // when we allow the field to either come from vehicleArea fields or vehicleProperty fields.
+    template <class T>
+    bool tryParseJsonArrayToVariable(std::vector<const Json::Value*> parentJsonNodePtrs,
+                                     const std::string& fieldName, bool fieldIsOptional,
                                      std::vector<T>* outPtr, std::vector<std::string>* errors);
+
     // Parses a JSON field to VehiclePropertyAccess or VehiclePropertyChangeMode.
     template <class T>
     void parseAccessChangeMode(const Json::Value& parentJsonNode, const std::string& fieldName,
diff --git a/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp b/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp
index f2fc0a5..fdccaec 100644
--- a/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp
+++ b/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp
@@ -95,6 +95,12 @@
 using ::android::base::Error;
 using ::android::base::Result;
 
+int32_t COMPATIBLE_API_VERSIONS[] = {
+        // The base version.
+        1,
+        // V2 supports inherit areaId fields from parent property fields.
+        2};
+
 // Defines a map from constant names to constant values, the values defined here corresponds to
 // the "Constants::XXXX" used in JSON config file.
 const std::unordered_map<std::string, int> CONSTANTS_BY_NAME = {
@@ -148,6 +154,17 @@
          toInt(VehicleAreaMirror::DRIVER_LEFT) | toInt(VehicleAreaMirror::DRIVER_RIGHT)},
 };
 
+std::string nodesToStr(const std::vector<const Json::Value*>& nodePtrs) {
+    std::string nodesStr = "";
+    for (const Json::Value* nodePtr : nodePtrs) {
+        if (nodesStr != "") {
+            nodesStr += ", ";
+        }
+        nodesStr += nodePtr->toStyledString();
+    }
+    return nodesStr;
+}
+
 // A class to parse constant values for type T where T is defined as an enum in NDK AIDL backend.
 template <class T>
 class ConstantParser final : public ConstantParserInterface {
@@ -447,10 +464,33 @@
 }
 
 template <class T>
+bool JsonConfigParser::tryParseJsonValueToVariable(
+        std::vector<const Json::Value*> parentJsonNodePtrs, const std::string& fieldName,
+        bool fieldIsOptional, T* outPtr, std::vector<std::string>* errors) {
+    bool found = false;
+    for (const Json::Value* parentJsonNodePtr : parentJsonNodePtrs) {
+        bool result = tryParseJsonValueToVariable(*parentJsonNodePtr, fieldName,
+                                                  /*fieldIsOptional=*/true, outPtr, errors, &found);
+        if (!result) {
+            return result;
+        }
+        if (found) {
+            return true;
+        }
+    }
+    if (!fieldIsOptional && !found) {
+        errors->push_back("Missing required field: " + fieldName +
+                          " in nodes: " + nodesToStr(parentJsonNodePtrs));
+        return false;
+    }
+    return true;
+}
+
+template <class T>
 bool JsonConfigParser::tryParseJsonValueToVariable(const Json::Value& parentJsonNode,
                                                    const std::string& fieldName,
                                                    bool fieldIsOptional, T* outPtr,
-                                                   std::vector<std::string>* errors) {
+                                                   std::vector<std::string>* errors, bool* found) {
     if (!parentJsonNode.isObject()) {
         errors->push_back("Node: " + parentJsonNode.toStyledString() + " is not an object");
         return false;
@@ -469,6 +509,32 @@
         return false;
     }
     *outPtr = std::move(result.value());
+    if (found != nullptr) {
+        *found = true;
+    }
+    return true;
+}
+
+template <class T>
+bool JsonConfigParser::tryParseJsonArrayToVariable(
+        std::vector<const Json::Value*> parentJsonNodePtrs, const std::string& fieldName,
+        bool fieldIsOptional, std::vector<T>* outPtr, std::vector<std::string>* errors) {
+    bool found = false;
+    for (const Json::Value* parentJsonNodePtr : parentJsonNodePtrs) {
+        bool result = tryParseJsonArrayToVariable(*parentJsonNodePtr, fieldName,
+                                                  /*fieldIsOptional=*/true, outPtr, errors, &found);
+        if (!result) {
+            return result;
+        }
+        if (found) {
+            return true;
+        }
+    }
+    if (!fieldIsOptional && !found) {
+        errors->push_back("Missing required field: " + fieldName +
+                          " in nodes: " + nodesToStr(parentJsonNodePtrs));
+        return false;
+    }
     return true;
 }
 
@@ -476,7 +542,7 @@
 bool JsonConfigParser::tryParseJsonArrayToVariable(const Json::Value& parentJsonNode,
                                                    const std::string& fieldName,
                                                    bool fieldIsOptional, std::vector<T>* outPtr,
-                                                   std::vector<std::string>* errors) {
+                                                   std::vector<std::string>* errors, bool* found) {
     if (!parentJsonNode.isObject()) {
         errors->push_back("Node: " + parentJsonNode.toStyledString() + " is not an object");
         return false;
@@ -495,6 +561,9 @@
         return false;
     }
     *outPtr = std::move(result.value());
+    if (found != nullptr) {
+        *found = true;
+    }
     return true;
 }
 
@@ -574,51 +643,60 @@
         }
         VehicleAreaConfig areaConfig = {};
         areaConfig.areaId = areaId;
+        // We have already parsed the access in parentJsonNode into config, so we do not have to
+        // parse parentNode again here.
         parseAccessChangeMode(jsonAreaConfig, "access", propStr, &(config->config.access),
                               &areaConfig.access, errors);
-        tryParseJsonValueToVariable(jsonAreaConfig, "minInt32Value", /*optional=*/true,
-                                    &areaConfig.minInt32Value, errors);
-        tryParseJsonValueToVariable(jsonAreaConfig, "maxInt32Value", /*optional=*/true,
-                                    &areaConfig.maxInt32Value, errors);
-        tryParseJsonValueToVariable(jsonAreaConfig, "minInt64Value", /*optional=*/true,
-                                    &areaConfig.minInt64Value, errors);
-        tryParseJsonValueToVariable(jsonAreaConfig, "maxInt64Value", /*optional=*/true,
-                                    &areaConfig.maxInt64Value, errors);
-        tryParseJsonValueToVariable(jsonAreaConfig, "minFloatValue", /*optional=*/true,
-                                    &areaConfig.minFloatValue, errors);
-        tryParseJsonValueToVariable(jsonAreaConfig, "maxFloatValue", /*optional=*/true,
-                                    &areaConfig.maxFloatValue, errors);
+        // All the following fields may come from area config or from parent node (property config).
+        tryParseJsonValueToVariable({&jsonAreaConfig, &parentJsonNode}, "minInt32Value",
+                                    /*optional=*/true, &areaConfig.minInt32Value, errors);
+        tryParseJsonValueToVariable({&jsonAreaConfig, &parentJsonNode}, "maxInt32Value",
+                                    /*optional=*/true, &areaConfig.maxInt32Value, errors);
+        tryParseJsonValueToVariable({&jsonAreaConfig, &parentJsonNode}, "minInt64Value",
+                                    /*optional=*/true, &areaConfig.minInt64Value, errors);
+        tryParseJsonValueToVariable({&jsonAreaConfig, &parentJsonNode}, "maxInt64Value",
+                                    /*optional=*/true, &areaConfig.maxInt64Value, errors);
+        tryParseJsonValueToVariable({&jsonAreaConfig, &parentJsonNode}, "minFloatValue",
+                                    /*optional=*/true, &areaConfig.minFloatValue, errors);
+        tryParseJsonValueToVariable({&jsonAreaConfig, &parentJsonNode}, "maxFloatValue",
+                                    /*optional=*/true, &areaConfig.maxFloatValue, errors);
 
         // By default we support variable update rate for all properties except it is explicitly
         // disabled.
         areaConfig.supportVariableUpdateRate = true;
-        tryParseJsonValueToVariable(jsonAreaConfig, "supportVariableUpdateRate", /*optional=*/true,
-                                    &areaConfig.supportVariableUpdateRate, errors);
+        tryParseJsonValueToVariable({&jsonAreaConfig, &parentJsonNode}, "supportVariableUpdateRate",
+                                    /*optional=*/true, &areaConfig.supportVariableUpdateRate,
+                                    errors);
 
         std::vector<int64_t> supportedEnumValues;
-        tryParseJsonArrayToVariable(jsonAreaConfig, "supportedEnumValues", /*optional=*/true,
-                                    &supportedEnumValues, errors);
+        tryParseJsonArrayToVariable({&jsonAreaConfig, &parentJsonNode}, "supportedEnumValues",
+                                    /*optional=*/true, &supportedEnumValues, errors);
         if (!supportedEnumValues.empty()) {
             areaConfig.supportedEnumValues = std::move(supportedEnumValues);
         }
 
         std::vector<float> supportedValues;
-        tryParseJsonArrayToVariable(jsonAreaConfig, "supportedValues", /*optional=*/true,
-                                    &supportedValues, errors);
+        tryParseJsonArrayToVariable({&jsonAreaConfig, &parentJsonNode}, "supportedValues",
+                                    /*optional=*/true, &supportedValues, errors);
         if (!supportedValues.empty()) {
             config->supportedValuesForAreaId[areaId] = std::move(supportedValues);
         }
 
+        const Json::Value* jsonHasSupportedValueInfo = nullptr;
         if (jsonAreaConfig.isMember("hasSupportedValueInfo")) {
+            jsonHasSupportedValueInfo = &jsonAreaConfig["hasSupportedValueInfo"];
+        } else if (parentJsonNode.isMember("hasSupportedValueInfo")) {
+            jsonHasSupportedValueInfo = &parentJsonNode["hasSupportedValueInfo"];
+        }
+        if (jsonHasSupportedValueInfo != nullptr) {
             HasSupportedValueInfo hasSupportedValueInfo = HasSupportedValueInfo{};
-            const Json::Value& jsonHasSupportedValueInfo = jsonAreaConfig["hasSupportedValueInfo"];
-            tryParseJsonValueToVariable(jsonHasSupportedValueInfo, "hasMinSupportedValue",
+            tryParseJsonValueToVariable(*jsonHasSupportedValueInfo, "hasMinSupportedValue",
                                         /*optional=*/true,
                                         &hasSupportedValueInfo.hasMinSupportedValue, errors);
-            tryParseJsonValueToVariable(jsonHasSupportedValueInfo, "hasMaxSupportedValue",
+            tryParseJsonValueToVariable(*jsonHasSupportedValueInfo, "hasMaxSupportedValue",
                                         /*optional=*/true,
                                         &hasSupportedValueInfo.hasMaxSupportedValue, errors);
-            tryParseJsonValueToVariable(jsonHasSupportedValueInfo, "hasSupportedValuesList",
+            tryParseJsonValueToVariable(*jsonHasSupportedValueInfo, "hasSupportedValuesList",
                                         /*optional=*/true,
                                         &hasSupportedValueInfo.hasSupportedValuesList, errors);
             areaConfig.hasSupportedValueInfo = std::move(hasSupportedValueInfo);
@@ -629,6 +707,11 @@
         RawPropValues areaValue = {};
         if (parsePropValues(jsonAreaConfig, "defaultValue", &areaValue, errors)) {
             config->initialAreaValues[areaId] = std::move(areaValue);
+        } else {
+            if (config->initialValue != RawPropValues{}) {
+                // Skip empty initial values.
+                config->initialAreaValues[areaId] = config->initialValue;
+            }
         }
     }
 }
@@ -708,6 +791,21 @@
     if (!root.isObject()) {
         return Error() << "root element must be an object";
     }
+    // Default API version is 1.
+    int32_t apiVersion = 1;
+    if (root.isMember("apiVersion")) {
+        apiVersion = static_cast<int32_t>(root["apiVersion"].asInt());
+    }
+    bool compatible = false;
+    for (int32_t compatibleApiVersion : COMPATIBLE_API_VERSIONS) {
+        if (compatibleApiVersion == apiVersion) {
+            compatible = true;
+            break;
+        }
+    }
+    if (!compatible) {
+        return Error() << "The JSON file is not compatible with the JSON loader version";
+    }
     if (!root.isMember("properties") || !root["properties"].isArray()) {
         return Error() << "Missing 'properties' field in root or the field is not an array";
     }
diff --git a/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp b/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp
index 595c2ed..3b4720b 100644
--- a/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp
+++ b/automotive/vehicle/aidl/impl/current/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp
@@ -314,6 +314,33 @@
     ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::STATIC);
 }
 
+TEST_F(JsonConfigLoaderUnitTest, testAccessAreaOverride) {
+    std::istringstream iss(R"(
+    {
+        "properties": [{
+            "property": "VehicleProperty::INFO_FUEL_CAPACITY",
+            "areas": [
+                {
+                    "areaId": 0,
+                    "access": "VehiclePropertyAccess::WRITE"
+                }
+            ]
+        }]
+    }
+    )");
+
+    auto result = mLoader.loadPropConfig(iss);
+
+    ASSERT_TRUE(result.ok()) << result.error().message();
+    auto configs = result.value();
+    ASSERT_EQ(configs.size(), 1u);
+
+    const VehiclePropConfig& propConfig = configs.begin()->second.config;
+    ASSERT_EQ(propConfig.access, VehiclePropertyAccess::READ);
+    ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::WRITE);
+    ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::STATIC);
+}
+
 TEST_F(JsonConfigLoaderUnitTest, testChangeModeOverride) {
     std::istringstream iss(R"(
     {
@@ -564,6 +591,148 @@
     ASSERT_EQ(areaConfig.areaId, HVAC_ALL);
 }
 
+TEST_F(JsonConfigLoaderUnitTest, testAreas_InheritFromProperty) {
+    std::istringstream iss(R"(
+    {
+        "properties": [{
+            "property": "VehicleProperty::INFO_FUEL_CAPACITY",
+            "minInt32Value": 1,
+            "maxInt32Value": 7,
+            "minInt64Value": 2,
+            "maxInt64Value": 6,
+            "minFloatValue": 1.1,
+            "maxFloatValue": 2.2,
+            "supportVariableUpdateRate": true,
+            "supportedEnumValues": [1, 2, 3],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true,
+                "hasSupportedValuesList": true
+            },
+            "defaultValue": {
+                "int32Values": [
+                    1
+                ]
+            },
+            "areas": [{
+                "areaId": "Constants::HVAC_ALL"
+            }]
+        }]
+    }
+    )");
+
+    auto result = mLoader.loadPropConfig(iss);
+
+    ASSERT_RESULT_OK(result);
+
+    auto configs = result.value();
+    ASSERT_EQ(configs.size(), 1u);
+
+    const auto& configDecl = configs.begin()->second;
+    const VehiclePropConfig& config = configDecl.config;
+    EXPECT_EQ(config.access, VehiclePropertyAccess::READ);
+    ASSERT_EQ(config.areaConfigs.size(), 1u);
+    const VehicleAreaConfig& areaConfig = config.areaConfigs[0];
+    EXPECT_EQ(areaConfig.minInt32Value, 1);
+    EXPECT_EQ(areaConfig.maxInt32Value, 7);
+    EXPECT_EQ(areaConfig.minInt64Value, 2);
+    EXPECT_EQ(areaConfig.maxInt64Value, 6);
+    EXPECT_EQ(areaConfig.minFloatValue, 1.1f);
+    EXPECT_EQ(areaConfig.maxFloatValue, 2.2f);
+    EXPECT_EQ(areaConfig.access, VehiclePropertyAccess::READ);
+    EXPECT_EQ(areaConfig.areaId, HVAC_ALL);
+    EXPECT_EQ(areaConfig.supportVariableUpdateRate, true);
+    ASSERT_TRUE(areaConfig.supportedEnumValues.has_value());
+    EXPECT_EQ(areaConfig.supportedEnumValues.value(), std::vector<int64_t>({1, 2, 3}));
+    ASSERT_TRUE(areaConfig.hasSupportedValueInfo.has_value());
+    EXPECT_TRUE(areaConfig.hasSupportedValueInfo->hasMinSupportedValue);
+    EXPECT_TRUE(areaConfig.hasSupportedValueInfo->hasMaxSupportedValue);
+    EXPECT_TRUE(areaConfig.hasSupportedValueInfo->hasSupportedValuesList);
+    ASSERT_FALSE(configDecl.initialAreaValues.find(HVAC_ALL) == configDecl.initialAreaValues.end());
+    EXPECT_EQ(configDecl.initialAreaValues.find(HVAC_ALL)->second,
+              RawPropValues{.int32Values = {1}});
+}
+
+TEST_F(JsonConfigLoaderUnitTest, testAreas_InheritFromProperty_override) {
+    std::istringstream iss(R"(
+    {
+        "properties": [{
+            "property": "VehicleProperty::INFO_FUEL_CAPACITY",
+            "minInt32Value": 100,
+            "maxInt32Value": 100,
+            "minInt64Value": 100,
+            "maxInt64Value": 100,
+            "minFloatValue": 100.1,
+            "maxFloatValue": 100.2,
+            "supportVariableUpdateRate": false,
+            "supportedEnumValues": [3, 2, 1],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": false,
+                "hasMaxSupportedValue": false,
+                "hasSupportedValuesList": false
+            },
+            "defaultValue": {
+                "int32Values": [
+                    2
+                ]
+            },
+            "areas": [{
+                "areaId": "Constants::HVAC_ALL",
+                "minInt32Value": 1,
+                "maxInt32Value": 7,
+                "minInt64Value": 2,
+                "maxInt64Value": 6,
+                "minFloatValue": 1.1,
+                "maxFloatValue": 2.2,
+                "supportVariableUpdateRate": true,
+                "supportedEnumValues": [1, 2, 3],
+                "hasSupportedValueInfo": {
+                    "hasMinSupportedValue": true,
+                    "hasMaxSupportedValue": true,
+                    "hasSupportedValuesList": true
+                },
+                "defaultValue": {
+                    "int32Values": [
+                        1
+                    ]
+                }
+            }]
+        }]
+    }
+    )");
+
+    auto result = mLoader.loadPropConfig(iss);
+
+    ASSERT_RESULT_OK(result);
+
+    auto configs = result.value();
+    ASSERT_EQ(configs.size(), 1u);
+
+    const auto& configDecl = configs.begin()->second;
+    const VehiclePropConfig& config = configDecl.config;
+    EXPECT_EQ(config.access, VehiclePropertyAccess::READ);
+    ASSERT_EQ(config.areaConfigs.size(), 1u);
+    const VehicleAreaConfig& areaConfig = config.areaConfigs[0];
+    EXPECT_EQ(areaConfig.minInt32Value, 1);
+    EXPECT_EQ(areaConfig.maxInt32Value, 7);
+    EXPECT_EQ(areaConfig.minInt64Value, 2);
+    EXPECT_EQ(areaConfig.maxInt64Value, 6);
+    EXPECT_EQ(areaConfig.minFloatValue, 1.1f);
+    EXPECT_EQ(areaConfig.maxFloatValue, 2.2f);
+    EXPECT_EQ(areaConfig.access, VehiclePropertyAccess::READ);
+    EXPECT_EQ(areaConfig.areaId, HVAC_ALL);
+    EXPECT_EQ(areaConfig.supportVariableUpdateRate, true);
+    ASSERT_TRUE(areaConfig.supportedEnumValues.has_value());
+    EXPECT_EQ(areaConfig.supportedEnumValues.value(), std::vector<int64_t>({1, 2, 3}));
+    ASSERT_TRUE(areaConfig.hasSupportedValueInfo.has_value());
+    EXPECT_TRUE(areaConfig.hasSupportedValueInfo->hasMinSupportedValue);
+    EXPECT_TRUE(areaConfig.hasSupportedValueInfo->hasMaxSupportedValue);
+    EXPECT_TRUE(areaConfig.hasSupportedValueInfo->hasSupportedValuesList);
+    ASSERT_FALSE(configDecl.initialAreaValues.find(HVAC_ALL) == configDecl.initialAreaValues.end());
+    EXPECT_EQ(configDecl.initialAreaValues.find(HVAC_ALL)->second,
+              RawPropValues{.int32Values = {1}});
+}
+
 TEST_F(JsonConfigLoaderUnitTest, testAreas_DefaultValueForEachArea) {
     std::istringstream iss(R"(
     {
diff --git a/automotive/vehicle/aidl/impl/current/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/current/default_config/config/DefaultProperties.json
index d32b335..c3e12f6 100644
--- a/automotive/vehicle/aidl/impl/current/default_config/config/DefaultProperties.json
+++ b/automotive/vehicle/aidl/impl/current/default_config/config/DefaultProperties.json
@@ -1,5 +1,5 @@
 {
-    "apiVersion": 1,
+    "apiVersion": 2,
     "properties": [
         {
             "property": "VehicleProperty::INFO_FUEL_CAPACITY",
@@ -164,83 +164,47 @@
             "property": "VehicleProperty::SEAT_MEMORY_SELECT",
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 3
         },
         {
             "property": "VehicleProperty::SEAT_MEMORY_SET",
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 3
         },
         {
             "property": "VehicleProperty::SEAT_BELT_BUCKLED",
@@ -276,51 +240,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_BELT_HEIGHT_MOVE",
@@ -331,51 +271,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_FORE_AFT_POS",
@@ -386,51 +302,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_FORE_AFT_MOVE",
@@ -441,51 +333,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_BACKREST_ANGLE_1_POS",
@@ -496,51 +364,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_BACKREST_ANGLE_1_MOVE",
@@ -551,51 +395,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_BACKREST_ANGLE_2_POS",
@@ -606,51 +426,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_BACKREST_ANGLE_2_MOVE",
@@ -661,51 +457,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_HEIGHT_POS",
@@ -716,51 +488,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_HEIGHT_MOVE",
@@ -771,51 +519,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_DEPTH_POS",
@@ -826,51 +550,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_DEPTH_MOVE",
@@ -881,51 +581,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_TILT_POS",
@@ -936,51 +612,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_TILT_MOVE",
@@ -991,51 +643,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_LUMBAR_FORE_AFT_POS",
@@ -1046,51 +674,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_LUMBAR_FORE_AFT_MOVE",
@@ -1101,51 +705,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_LUMBAR_SIDE_SUPPORT_POS",
@@ -1156,51 +736,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_LUMBAR_SIDE_SUPPORT_MOVE",
@@ -1211,51 +767,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_HEADREST_HEIGHT_POS_V2",
@@ -1266,51 +798,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_HEADREST_HEIGHT_MOVE",
@@ -1321,51 +829,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_HEADREST_ANGLE_POS",
@@ -1376,51 +860,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_HEADREST_ANGLE_MOVE",
@@ -1431,51 +891,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_HEADREST_FORE_AFT_POS",
@@ -1486,51 +922,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_HEADREST_FORE_AFT_MOVE",
@@ -1541,51 +953,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_FOOTWELL_LIGHTS_STATE",
@@ -1596,35 +984,21 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "supportedEnumValues": [
-                        "Constants::LIGHT_STATE_OFF",
-                        "Constants::LIGHT_STATE_ON"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "supportedEnumValues": [
-                        "Constants::LIGHT_STATE_OFF",
-                        "Constants::LIGHT_STATE_ON"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT_2_RIGHT_2_CENTER",
-                    "supportedEnumValues": [
-                        "Constants::LIGHT_STATE_OFF",
-                        "Constants::LIGHT_STATE_ON"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT_2_RIGHT_2_CENTER"
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "Constants::LIGHT_STATE_OFF",
+                "Constants::LIGHT_STATE_ON"
             ]
         },
         {
@@ -1636,38 +1010,22 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "supportedEnumValues": [
-                        "Constants::LIGHT_SWITCH_OFF",
-                        "Constants::LIGHT_SWITCH_ON",
-                        "Constants::LIGHT_SWITCH_AUTO"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "supportedEnumValues": [
-                        "Constants::LIGHT_SWITCH_OFF",
-                        "Constants::LIGHT_SWITCH_ON",
-                        "Constants::LIGHT_SWITCH_AUTO"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT_2_RIGHT_2_CENTER",
-                    "supportedEnumValues": [
-                        "Constants::LIGHT_SWITCH_OFF",
-                        "Constants::LIGHT_SWITCH_ON",
-                        "Constants::LIGHT_SWITCH_AUTO"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT_2_RIGHT_2_CENTER"
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "Constants::LIGHT_SWITCH_OFF",
+                "Constants::LIGHT_SWITCH_ON",
+                "Constants::LIGHT_SWITCH_AUTO"
             ]
         },
         {
@@ -1711,51 +1069,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_MOVE",
@@ -1766,51 +1100,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_LUMBAR_VERTICAL_POS",
@@ -1821,51 +1131,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -10,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -10,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::SEAT_LUMBAR_VERTICAL_MOVE",
@@ -1876,51 +1162,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::SEAT_WALK_IN_POS",
@@ -1931,24 +1193,18 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 5,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 5,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 5
         },
         {
             "property": "VehicleProperty::SEAT_AIRBAGS_DEPLOYED",
@@ -2219,18 +1475,18 @@
             ],
             "areas": [
                 {
-                    "areaId": 0,
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    },
-                    "supportedValues": [
-                        20,
-                        40,
-                        60,
-                        80,
-                        100
-                    ]
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedValues": [
+                20,
+                40,
+                60,
+                80,
+                100
             ]
         },
         {
@@ -2317,45 +1573,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::WHEEL_FRONT_LEFT",
-                    "minFloatValue": 193.0,
-                    "maxFloatValue": 300.0,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WHEEL_FRONT_LEFT"
                 },
                 {
-                    "areaId": "Constants::WHEEL_FRONT_RIGHT",
-                    "minFloatValue": 193.0,
-                    "maxFloatValue": 300.0,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WHEEL_FRONT_RIGHT"
                 },
                 {
-                    "areaId": "Constants::WHEEL_REAR_LEFT",
-                    "minFloatValue": 193.0,
-                    "maxFloatValue": 300.0,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WHEEL_REAR_LEFT"
                 },
                 {
-                    "areaId": "Constants::WHEEL_REAR_RIGHT",
-                    "minFloatValue": 193.0,
-                    "maxFloatValue": 300.0,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WHEEL_REAR_RIGHT"
                 }
             ],
             "comment": "Units in kpa",
             "maxSampleRate": 2.0,
-            "minSampleRate": 1.0
+            "minSampleRate": 1.0,
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minFloatValue": 193.0,
+            "maxFloatValue": 300.0
         },
         {
             "property": "VehicleProperty::CRITICALLY_LOW_TIRE_PRESSURE",
@@ -2468,13 +1706,7 @@
                             0
                         ]
                     },
-                    "areaId": "Constants::WHEEL_FRONT_LEFT",
-                    "minInt32Value": -100,
-                    "maxInt32Value": 100,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WHEEL_FRONT_LEFT"
                 },
                 {
                     "defaultValue": {
@@ -2482,13 +1714,7 @@
                             0
                         ]
                     },
-                    "areaId": "Constants::WHEEL_FRONT_RIGHT",
-                    "minInt32Value": -100,
-                    "maxInt32Value": 100,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WHEEL_FRONT_RIGHT"
                 },
                 {
                     "defaultValue": {
@@ -2496,13 +1722,7 @@
                             0
                         ]
                     },
-                    "areaId": "Constants::WHEEL_REAR_RIGHT",
-                    "minInt32Value": -100,
-                    "maxInt32Value": 100,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WHEEL_REAR_RIGHT"
                 },
                 {
                     "defaultValue": {
@@ -2510,17 +1730,17 @@
                             0
                         ]
                     },
-                    "areaId": "Constants::WHEEL_REAR_LEFT",
-                    "minInt32Value": -100,
-                    "maxInt32Value": 100,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WHEEL_REAR_LEFT"
                 }
             ],
             "maxSampleRate": 10.0,
-            "minSampleRate": 1.0
+            "minSampleRate": 1.0,
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -100,
+            "maxInt32Value": 100
         },
         {
             "property": "VehicleProperty::TIRE_PRESSURE_DISPLAY_UNITS",
@@ -2578,15 +1798,15 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": 0
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 3
         },
         {
             "property": "VehicleProperty::EV_STOPPING_MODE",
@@ -2597,16 +1817,16 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "Constants::EV_STOPPING_MODE_CREEP",
-                        "Constants::EV_STOPPING_MODE_ROLL",
-                        "Constants::EV_STOPPING_MODE_HOLD"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "Constants::EV_STOPPING_MODE_CREEP",
+                "Constants::EV_STOPPING_MODE_ROLL",
+                "Constants::EV_STOPPING_MODE_HOLD"
             ]
         },
         {
@@ -3008,51 +2228,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": 1,
-                    "maxInt32Value": 7,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": 1,
-                    "maxInt32Value": 7,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": 1,
-                    "maxInt32Value": 7,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": 1,
-                    "maxInt32Value": 7,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": 1,
-                    "maxInt32Value": 7,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 1,
+            "maxInt32Value": 7
         },
         {
             "property": "VehicleProperty::HVAC_FAN_DIRECTION",
@@ -3120,52 +2316,28 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
             ],
-            "comment": "0 is off and +ve values indicate ventilation level."
+            "comment": "0 is off and +ve values indicate ventilation level.",
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 3
         },
         {
             "property": "VehicleProperty::HVAC_STEERING_WHEEL_HEAT",
@@ -3176,16 +2348,16 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "minInt32Value": -2,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": 0
                 }
             ],
-            "comment": "+ve values for heating and -ve for cooling"
+            "comment": "+ve values for heating and -ve for cooling",
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -2,
+            "maxInt32Value": 2
         },
         {
             "property": "VehicleProperty::HVAC_SEAT_TEMPERATURE",
@@ -3196,52 +2368,28 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minInt32Value": -2,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": -2,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minInt32Value": -2,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minInt32Value": -2,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minInt32Value": -2,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
             ],
-            "comment": "+ve values for heating and -ve for cooling"
+            "comment": "+ve values for heating and -ve for cooling",
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -2,
+            "maxInt32Value": 2
         },
         {
             "property": "VehicleProperty::HVAC_SIDE_MIRROR_HEAT",
@@ -3252,15 +2400,15 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::MIRROR_DRIVER_LEFT_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::MIRROR_DRIVER_LEFT_RIGHT"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 2
         },
         {
             "property": "VehicleProperty::HVAC_TEMPERATURE_CURRENT",
@@ -3296,219 +2444,19 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_LEFT",
-                    "minFloatValue": 17.5,
-                    "maxFloatValue": 32.5,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true,
-                        "hasSupportedValuesList": true
-                    },
-                    "supportedValues": [
-                        17.5,
-                        18,
-                        18.5,
-                        19,
-                        19.5,
-                        20,
-                        20.5,
-                        21,
-                        21.5,
-                        22,
-                        22.5,
-                        23,
-                        23.5,
-                        24,
-                        24.5,
-                        25,
-                        25.5,
-                        26,
-                        26.5,
-                        27,
-                        27.5,
-                        28,
-                        28.5,
-                        29,
-                        29.5,
-                        30,
-                        30.5,
-                        31,
-                        31.5,
-                        32,
-                        32.5
-                    ]
+                    "areaId": "Constants::SEAT_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minFloatValue": 17.5,
-                    "maxFloatValue": 32.5,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true,
-                        "hasSupportedValuesList": true
-                    },
-                    "supportedValues": [
-                        17.5,
-                        18,
-                        18.5,
-                        19,
-                        19.5,
-                        20,
-                        20.5,
-                        21,
-                        21.5,
-                        22,
-                        22.5,
-                        23,
-                        23.5,
-                        24,
-                        24.5,
-                        25,
-                        25.5,
-                        26,
-                        26.5,
-                        27,
-                        27.5,
-                        28,
-                        28.5,
-                        29,
-                        29.5,
-                        30,
-                        30.5,
-                        31,
-                        31.5,
-                        32,
-                        32.5
-                    ]
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_LEFT",
-                    "minFloatValue": 17.5,
-                    "maxFloatValue": 32.5,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true,
-                        "hasSupportedValuesList": true
-                    },
-                    "supportedValues": [
-                        17.5,
-                        18,
-                        18.5,
-                        19,
-                        19.5,
-                        20,
-                        20.5,
-                        21,
-                        21.5,
-                        22,
-                        22.5,
-                        23,
-                        23.5,
-                        24,
-                        24.5,
-                        25,
-                        25.5,
-                        26,
-                        26.5,
-                        27,
-                        27.5,
-                        28,
-                        28.5,
-                        29,
-                        29.5,
-                        30,
-                        30.5,
-                        31,
-                        31.5,
-                        32,
-                        32.5
-                    ]
+                    "areaId": "Constants::SEAT_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_RIGHT",
-                    "minFloatValue": 17.5,
-                    "maxFloatValue": 32.5,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true,
-                        "hasSupportedValuesList": true
-                    },
-                    "supportedValues": [
-                        17.5,
-                        18,
-                        18.5,
-                        19,
-                        19.5,
-                        20,
-                        20.5,
-                        21,
-                        21.5,
-                        22,
-                        22.5,
-                        23,
-                        23.5,
-                        24,
-                        24.5,
-                        25,
-                        25.5,
-                        26,
-                        26.5,
-                        27,
-                        27.5,
-                        28,
-                        28.5,
-                        29,
-                        29.5,
-                        30,
-                        30.5,
-                        31,
-                        31.5,
-                        32,
-                        32.5
-                    ]
+                    "areaId": "Constants::SEAT_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::SEAT_2_CENTER",
-                    "minFloatValue": 17.5,
-                    "maxFloatValue": 32.5,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true,
-                        "hasSupportedValuesList": true
-                    },
-                    "supportedValues": [
-                        17.5,
-                        18,
-                        18.5,
-                        19,
-                        19.5,
-                        20,
-                        20.5,
-                        21,
-                        21.5,
-                        22,
-                        22.5,
-                        23,
-                        23.5,
-                        24,
-                        24.5,
-                        25,
-                        25.5,
-                        26,
-                        26.5,
-                        27,
-                        27.5,
-                        28,
-                        28.5,
-                        29,
-                        29.5,
-                        30,
-                        30.5,
-                        31,
-                        31.5,
-                        32,
-                        32.5
-                    ]
+                    "areaId": "Constants::SEAT_2_CENTER"
                 }
             ],
             "comment":
@@ -3520,6 +2468,46 @@
                 600,
                 900,
                 10
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true,
+                "hasSupportedValuesList": true
+            },
+            "minFloatValue": 17.5,
+            "maxFloatValue": 32.5,
+            "supportedValues": [
+                17.5,
+                18,
+                18.5,
+                19,
+                19.5,
+                20,
+                20.5,
+                21,
+                21.5,
+                22,
+                22.5,
+                23,
+                23.5,
+                24,
+                24.5,
+                25,
+                25.5,
+                26,
+                26.5,
+                27,
+                27.5,
+                28,
+                28.5,
+                29,
+                29.5,
+                30,
+                30.5,
+                31,
+                31.5,
+                32,
+                32.5
             ]
         },
         {
@@ -3660,19 +2648,19 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ImpactSensorLocation::FRONT",
-                        "ImpactSensorLocation::FRONT_LEFT_DOOR_SIDE",
-                        "ImpactSensorLocation::FRONT_RIGHT_DOOR_SIDE",
-                        "ImpactSensorLocation::REAR_LEFT_DOOR_SIDE",
-                        "ImpactSensorLocation::REAR_RIGHT_DOOR_SIDE",
-                        "ImpactSensorLocation::REAR"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ImpactSensorLocation::FRONT",
+                "ImpactSensorLocation::FRONT_LEFT_DOOR_SIDE",
+                "ImpactSensorLocation::FRONT_RIGHT_DOOR_SIDE",
+                "ImpactSensorLocation::REAR_LEFT_DOOR_SIDE",
+                "ImpactSensorLocation::REAR_RIGHT_DOOR_SIDE",
+                "ImpactSensorLocation::REAR"
             ]
         },
         {
@@ -3745,51 +2733,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::DOOR_1_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::DOOR_1_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::DOOR_2_LEFT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::DOOR_2_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::DOOR_REAR",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_REAR"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::DOOR_MOVE",
@@ -3800,42 +2764,24 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::DOOR_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::DOOR_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::DOOR_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::DOOR_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::DOOR_2_RIGHT"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::MIRROR_Z_POS",
@@ -3846,33 +2792,21 @@
             },
             "areas": [
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_LEFT",
-                    "minInt32Value": -3,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_LEFT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT",
-                    "minInt32Value": -3,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_CENTER",
-                    "minInt32Value": -3,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -3,
+            "maxInt32Value": 3
         },
         {
             "property": "VehicleProperty::MIRROR_Z_MOVE",
@@ -3883,33 +2817,21 @@
             },
             "areas": [
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_LEFT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::MIRROR_Y_POS",
@@ -3920,33 +2842,21 @@
             },
             "areas": [
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_LEFT",
-                    "minInt32Value": -3,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_LEFT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT",
-                    "minInt32Value": -3,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_CENTER",
-                    "minInt32Value": -3,
-                    "maxInt32Value": 3,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -3,
+            "maxInt32Value": 3
         },
         {
             "property": "VehicleProperty::MIRROR_Y_MOVE",
@@ -3957,33 +2867,21 @@
             },
             "areas": [
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_LEFT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_CENTER",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_CENTER"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::MIRROR_LOCK",
@@ -4104,51 +3002,27 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::WINDOW_1_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WINDOW_1_LEFT"
                 },
                 {
-                    "areaId": "Constants::WINDOW_1_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WINDOW_1_RIGHT"
                 },
                 {
-                    "areaId": "Constants::WINDOW_2_LEFT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WINDOW_2_LEFT"
                 },
                 {
-                    "areaId": "Constants::WINDOW_2_RIGHT",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WINDOW_2_RIGHT"
                 },
                 {
-                    "areaId": "Constants::WINDOW_ROOF_TOP_1",
-                    "minInt32Value": -1,
-                    "maxInt32Value": 1,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::WINDOW_ROOF_TOP_1"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -1,
+            "maxInt32Value": 1
         },
         {
             "property": "VehicleProperty::WINDSHIELD_WIPERS_PERIOD",
@@ -4159,24 +3033,18 @@
             },
             "areas": [
                 {
-                    "areaId": "VehicleAreaWindow::FRONT_WINDSHIELD",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3000,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaWindow::FRONT_WINDSHIELD"
                 },
                 {
-                    "areaId": "VehicleAreaWindow::REAR_WINDSHIELD",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 3000,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "VehicleAreaWindow::REAR_WINDSHIELD"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 3000
         },
         {
             "property": "VehicleProperty::WINDSHIELD_WIPERS_STATE",
@@ -4265,15 +3133,15 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": 0
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::STEERING_WHEEL_DEPTH_MOVE",
@@ -4284,15 +3152,15 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "minInt32Value": -2,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": 0
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -2,
+            "maxInt32Value": 2
         },
         {
             "property": "VehicleProperty::STEERING_WHEEL_HEIGHT_POS",
@@ -4303,15 +3171,15 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": 0
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::STEERING_WHEEL_HEIGHT_MOVE",
@@ -4322,15 +3190,15 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "minInt32Value": -2,
-                    "maxInt32Value": 2,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": 0
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": -2,
+            "maxInt32Value": 2
         },
         {
             "property": "VehicleProperty::STEERING_WHEEL_THEFT_LOCK_ENABLED",
@@ -4365,15 +3233,15 @@
             },
             "areas": [
                 {
-                    "areaId": "Constants::SEAT_1_RIGHT",
-                    "minInt32Value": 0,
-                    "maxInt32Value": 10,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::SEAT_1_RIGHT"
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 10
         },
         {
             "property": "VehicleProperty::GLOVE_BOX_LOCKED",
@@ -4592,15 +3460,15 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "Constants::LIGHT_STATE_OFF",
-                        "Constants::LIGHT_STATE_ON"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "Constants::LIGHT_STATE_OFF",
+                "Constants::LIGHT_STATE_ON"
             ]
         },
         {
@@ -4685,16 +3553,16 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "Constants::LIGHT_SWITCH_OFF",
-                        "Constants::LIGHT_SWITCH_ON",
-                        "Constants::LIGHT_SWITCH_AUTO"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "Constants::LIGHT_SWITCH_OFF",
+                "Constants::LIGHT_SWITCH_ON",
+                "Constants::LIGHT_SWITCH_AUTO"
             ]
         },
         {
@@ -5583,23 +4451,23 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "EmergencyLaneKeepAssistState::ENABLED",
-                        "EmergencyLaneKeepAssistState::WARNING_LEFT",
-                        "EmergencyLaneKeepAssistState::WARNING_RIGHT",
-                        "EmergencyLaneKeepAssistState::ACTIVATED_STEER_LEFT",
-                        "EmergencyLaneKeepAssistState::ACTIVATED_STEER_RIGHT",
-                        "EmergencyLaneKeepAssistState::USER_OVERRIDE"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "EmergencyLaneKeepAssistState::ENABLED",
+                "EmergencyLaneKeepAssistState::WARNING_LEFT",
+                "EmergencyLaneKeepAssistState::WARNING_RIGHT",
+                "EmergencyLaneKeepAssistState::ACTIVATED_STEER_LEFT",
+                "EmergencyLaneKeepAssistState::ACTIVATED_STEER_RIGHT",
+                "EmergencyLaneKeepAssistState::USER_OVERRIDE"
             ]
         },
         {
@@ -5619,20 +4487,20 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "CruiseControlType::STANDARD",
-                        "CruiseControlType::ADAPTIVE",
-                        "CruiseControlType::PREDICTIVE"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "CruiseControlType::STANDARD",
+                "CruiseControlType::ADAPTIVE",
+                "CruiseControlType::PREDICTIVE"
             ]
         },
         {
@@ -5644,41 +4512,41 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "CruiseControlState::ENABLED",
-                        "CruiseControlState::ACTIVATED",
-                        "CruiseControlState::USER_OVERRIDE",
-                        "CruiseControlState::SUSPENDED",
-                        "CruiseControlState::FORCED_DEACTIVATION_WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "CruiseControlState::ENABLED",
+                "CruiseControlState::ACTIVATED",
+                "CruiseControlState::USER_OVERRIDE",
+                "CruiseControlState::SUSPENDED",
+                "CruiseControlState::FORCED_DEACTIVATION_WARNING"
             ]
         },
         {
             "property": "VehicleProperty::CRUISE_CONTROL_COMMAND",
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "CruiseControlCommand::ACTIVATE",
-                        "CruiseControlCommand::SUSPEND",
-                        "CruiseControlCommand::INCREASE_TARGET_SPEED",
-                        "CruiseControlCommand::DECREASE_TARGET_SPEED",
-                        "CruiseControlCommand::INCREASE_TARGET_TIME_GAP",
-                        "CruiseControlCommand::DECREASE_TARGET_TIME_GAP"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "CruiseControlCommand::ACTIVATE",
+                "CruiseControlCommand::SUSPEND",
+                "CruiseControlCommand::INCREASE_TARGET_SPEED",
+                "CruiseControlCommand::DECREASE_TARGET_SPEED",
+                "CruiseControlCommand::INCREASE_TARGET_TIME_GAP",
+                "CruiseControlCommand::DECREASE_TARGET_TIME_GAP"
             ]
         },
         {
@@ -5690,15 +4558,15 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "minFloatValue": 20.0,
-                    "maxFloatValue": 35.0,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": 0
                 }
-            ]
+            ],
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minFloatValue": 20.0,
+            "maxFloatValue": 35.0
         },
         {
             "property": "VehicleProperty::ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP",
@@ -5725,17 +4593,17 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "minInt32Value": 0,
-                    "maxInt32Value": 200000,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": 0
                 }
             ],
             "maxSampleRate": 10.0,
-            "minSampleRate": 1.0
+            "minSampleRate": 1.0,
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minInt32Value": 0,
+            "maxInt32Value": 200000
         },
         {
             "property": "VehicleProperty::HANDS_ON_DETECTION_ENABLED",
@@ -5754,16 +4622,16 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "HandsOnDetectionDriverState::HANDS_ON",
-                        "HandsOnDetectionDriverState::HANDS_OFF"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "HandsOnDetectionDriverState::HANDS_ON",
+                "HandsOnDetectionDriverState::HANDS_OFF"
             ]
         },
         {
@@ -5775,16 +4643,16 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "HandsOnDetectionWarning::NO_WARNING",
-                        "HandsOnDetectionWarning::WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "HandsOnDetectionWarning::NO_WARNING",
+                "HandsOnDetectionWarning::WARNING"
             ]
         },
         {
@@ -5804,23 +4672,23 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "DriverDrowsinessAttentionState::KSS_RATING_1_EXTREMELY_ALERT",
-                        "DriverDrowsinessAttentionState::KSS_RATING_2_VERY_ALERT",
-                        "DriverDrowsinessAttentionState::KSS_RATING_3_ALERT",
-                        "DriverDrowsinessAttentionState::KSS_RATING_4_RATHER_ALERT",
-                        "DriverDrowsinessAttentionState::KSS_RATING_5_NEITHER_ALERT_NOR_SLEEPY",
-                        "DriverDrowsinessAttentionState::KSS_RATING_6_SOME_SLEEPINESS",
-                        "DriverDrowsinessAttentionState::KSS_RATING_7_SLEEPY_NO_EFFORT",
-                        "DriverDrowsinessAttentionState::KSS_RATING_8_SLEEPY_SOME_EFFORT",
-                        "DriverDrowsinessAttentionState::KSS_RATING_9_VERY_SLEEPY"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "DriverDrowsinessAttentionState::KSS_RATING_1_EXTREMELY_ALERT",
+                "DriverDrowsinessAttentionState::KSS_RATING_2_VERY_ALERT",
+                "DriverDrowsinessAttentionState::KSS_RATING_3_ALERT",
+                "DriverDrowsinessAttentionState::KSS_RATING_4_RATHER_ALERT",
+                "DriverDrowsinessAttentionState::KSS_RATING_5_NEITHER_ALERT_NOR_SLEEPY",
+                "DriverDrowsinessAttentionState::KSS_RATING_6_SOME_SLEEPINESS",
+                "DriverDrowsinessAttentionState::KSS_RATING_7_SLEEPY_NO_EFFORT",
+                "DriverDrowsinessAttentionState::KSS_RATING_8_SLEEPY_SOME_EFFORT",
+                "DriverDrowsinessAttentionState::KSS_RATING_9_VERY_SLEEPY"
             ]
         },
         {
@@ -5840,16 +4708,16 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "DriverDrowsinessAttentionWarning::NO_WARNING",
-                        "DriverDrowsinessAttentionWarning::WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "DriverDrowsinessAttentionWarning::NO_WARNING",
+                "DriverDrowsinessAttentionWarning::WARNING"
             ]
         },
         {
@@ -5869,16 +4737,16 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "DriverDistractionState::NOT_DISTRACTED",
-                        "DriverDistractionState::DISTRACTED"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "DriverDistractionState::NOT_DISTRACTED",
+                "DriverDistractionState::DISTRACTED"
             ]
         },
         {
@@ -5898,16 +4766,16 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "DriverDistractionWarning::NO_WARNING",
-                        "DriverDistractionWarning::WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "DriverDistractionWarning::NO_WARNING",
+                "DriverDistractionWarning::WARNING"
             ]
         },
         {
@@ -5947,10 +4815,10 @@
             "property": "VehicleProperty::VHAL_HEARTBEAT",
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportVariableUpdateRate": false
+                    "areaId": 0
                 }
-            ]
+            ],
+            "supportVariableUpdateRate": false
         },
         {
             "property": "VehicleProperty::CLUSTER_SWITCH_UI",
@@ -6014,11 +4882,11 @@
             ],
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportVariableUpdateRate": false
+                    "areaId": 0
                 }
             ],
-            "comment": "configArray specifies it consists of int64[2] and byte[16]."
+            "comment": "configArray specifies it consists of int64[2] and byte[16].",
+            "supportVariableUpdateRate": false
         },
         {
             "property": "VehicleProperty::GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT",
@@ -6072,21 +4940,21 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "AutomaticEmergencyBrakingState::ENABLED",
-                        "AutomaticEmergencyBrakingState::ACTIVATED",
-                        "AutomaticEmergencyBrakingState::USER_OVERRIDE"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "AutomaticEmergencyBrakingState::ENABLED",
+                "AutomaticEmergencyBrakingState::ACTIVATED",
+                "AutomaticEmergencyBrakingState::USER_OVERRIDE"
             ]
         },
         {
@@ -6106,20 +4974,20 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "ForwardCollisionWarningState::NO_WARNING",
-                        "ForwardCollisionWarningState::WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "ForwardCollisionWarningState::NO_WARNING",
+                "ForwardCollisionWarningState::WARNING"
             ]
         },
         {
@@ -6139,35 +5007,23 @@
             },
             "areas": [
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_LEFT",
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "BlindSpotWarningState::NO_WARNING",
-                        "BlindSpotWarningState::WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_LEFT"
                 },
                 {
-                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT",
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "BlindSpotWarningState::NO_WARNING",
-                        "BlindSpotWarningState::WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": "VehicleAreaMirror::DRIVER_RIGHT"
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "BlindSpotWarningState::NO_WARNING",
+                "BlindSpotWarningState::WARNING"
             ]
         },
         {
@@ -6187,20 +5043,20 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "LaneDepartureWarningState::NO_WARNING",
-                        "LaneDepartureWarningState::WARNING_LEFT",
-                        "LaneDepartureWarningState::WARNING_RIGHT"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "LaneDepartureWarningState::NO_WARNING",
+                "LaneDepartureWarningState::WARNING_LEFT",
+                "LaneDepartureWarningState::WARNING_RIGHT"
             ]
         },
         {
@@ -6220,21 +5076,21 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "LaneKeepAssistState::ENABLED",
-                        "LaneKeepAssistState::ACTIVATED_STEER_LEFT",
-                        "LaneKeepAssistState::ACTIVATED_STEER_RIGHT",
-                        "LaneKeepAssistState::USER_OVERRIDE"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "LaneKeepAssistState::ENABLED",
+                "LaneKeepAssistState::ACTIVATED_STEER_LEFT",
+                "LaneKeepAssistState::ACTIVATED_STEER_RIGHT",
+                "LaneKeepAssistState::USER_OVERRIDE"
             ]
         },
         {
@@ -6257,22 +5113,22 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "LaneCenteringAssistState::ENABLED",
-                        "LaneCenteringAssistState::ACTIVATION_REQUESTED",
-                        "LaneCenteringAssistState::ACTIVATED",
-                        "LaneCenteringAssistState::USER_OVERRIDE",
-                        "LaneCenteringAssistState::FORCED_DEACTIVATION_WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "LaneCenteringAssistState::ENABLED",
+                "LaneCenteringAssistState::ACTIVATION_REQUESTED",
+                "LaneCenteringAssistState::ACTIVATED",
+                "LaneCenteringAssistState::USER_OVERRIDE",
+                "LaneCenteringAssistState::FORCED_DEACTIVATION_WARNING"
             ]
         },
         {
@@ -6292,19 +5148,19 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "LowSpeedCollisionWarningState::NO_WARNING",
-                        "LowSpeedCollisionWarningState::WARNING"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "LowSpeedCollisionWarningState::NO_WARNING",
+                "LowSpeedCollisionWarningState::WARNING"
             ]
         },
         {
@@ -6324,19 +5180,19 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_SPEED_LOW",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "ElectronicStabilityControlState::ENABLED",
-                        "ElectronicStabilityControlState::ACTIVATED"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_SPEED_LOW",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "ElectronicStabilityControlState::ENABLED",
+                "ElectronicStabilityControlState::ACTIVATED"
             ]
         },
         {
@@ -6356,24 +5212,24 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "CrossTrafficMonitoringWarningState::NO_WARNING",
-                        "CrossTrafficMonitoringWarningState::WARNING_FRONT_LEFT",
-                        "CrossTrafficMonitoringWarningState::WARNING_FRONT_RIGHT",
-                        "CrossTrafficMonitoringWarningState::WARNING_FRONT_BOTH",
-                        "CrossTrafficMonitoringWarningState::WARNING_REAR_LEFT",
-                        "CrossTrafficMonitoringWarningState::WARNING_REAR_RIGHT",
-                        "CrossTrafficMonitoringWarningState::WARNING_REAR_BOTH"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "CrossTrafficMonitoringWarningState::NO_WARNING",
+                "CrossTrafficMonitoringWarningState::WARNING_FRONT_LEFT",
+                "CrossTrafficMonitoringWarningState::WARNING_FRONT_RIGHT",
+                "CrossTrafficMonitoringWarningState::WARNING_FRONT_BOTH",
+                "CrossTrafficMonitoringWarningState::WARNING_REAR_LEFT",
+                "CrossTrafficMonitoringWarningState::WARNING_REAR_RIGHT",
+                "CrossTrafficMonitoringWarningState::WARNING_REAR_BOTH"
             ]
         },
         {
@@ -6393,20 +5249,20 @@
             },
             "areas": [
                 {
-                    "areaId": 0,
-                    "supportedEnumValues": [
-                        "ErrorState::NOT_AVAILABLE_SAFETY",
-                        "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
-                        "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
-                        "ErrorState::NOT_AVAILABLE_DISABLED",
-                        "LowSpeedAutomaticEmergencyBrakingState::ENABLED",
-                        "LowSpeedAutomaticEmergencyBrakingState::ACTIVATED",
-                        "LowSpeedAutomaticEmergencyBrakingState::USER_OVERRIDE"
-                    ],
-                    "hasSupportedValueInfo": {
-                        "hasSupportedValuesList": true
-                    }
+                    "areaId": 0
                 }
+            ],
+            "hasSupportedValueInfo": {
+                "hasSupportedValuesList": true
+            },
+            "supportedEnumValues": [
+                "ErrorState::NOT_AVAILABLE_SAFETY",
+                "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY",
+                "ErrorState::NOT_AVAILABLE_SPEED_HIGH",
+                "ErrorState::NOT_AVAILABLE_DISABLED",
+                "LowSpeedAutomaticEmergencyBrakingState::ENABLED",
+                "LowSpeedAutomaticEmergencyBrakingState::ACTIVATED",
+                "LowSpeedAutomaticEmergencyBrakingState::USER_OVERRIDE"
             ]
         },
         {
diff --git a/automotive/vehicle/aidl/impl/current/default_config/config/TestProperties.json b/automotive/vehicle/aidl/impl/current/default_config/config/TestProperties.json
index bca6e94..e3da23b 100644
--- a/automotive/vehicle/aidl/impl/current/default_config/config/TestProperties.json
+++ b/automotive/vehicle/aidl/impl/current/default_config/config/TestProperties.json
@@ -1,4 +1,5 @@
 {
+    "apiVersion": 2,
     "properties": [
         {
             "property": "TestVendorProperty::MIXED_TYPE_PROPERTY_FOR_TEST",
@@ -75,13 +76,7 @@
                             1.0
                         ]
                     },
-                    "areaId": "Constants::HVAC_LEFT",
-                    "minFloatValue": -10.0,
-                    "maxFloatValue": 10.0,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::HVAC_LEFT"
                 },
                 {
                     "defaultValue": {
@@ -89,17 +84,17 @@
                             2.0
                         ]
                     },
-                    "areaId": "Constants::HVAC_RIGHT",
-                    "minFloatValue": -10.0,
-                    "maxFloatValue": 10.0,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true
-                    }
+                    "areaId": "Constants::HVAC_RIGHT"
                 }
             ],
             "access": "VehiclePropertyAccess::READ_WRITE",
-            "changeMode": "VehiclePropertyChangeMode::ON_CHANGE"
+            "changeMode": "VehiclePropertyChangeMode::ON_CHANGE",
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true
+            },
+            "minFloatValue": -10.0,
+            "maxFloatValue": 10.0
         },
         {
             "property": "TestVendorProperty::VENDOR_EXTENSION_INT_PROPERTY",
@@ -110,19 +105,7 @@
                             2
                         ]
                     },
-                    "areaId": "VehicleAreaWindow::FRONT_WINDSHIELD",
-                    "minInt32Value": -100,
-                    "maxInt32Value": 100,
-                    "hasSupportedValueInfo": {
-                        "hasMinSupportedValue": true,
-                        "hasMaxSupportedValue": true,
-                        "hasSupportedValuesList": true
-                    },
-                    "supportedValues": [
-                        1,
-                        2,
-                        3
-                    ]
+                    "areaId": "VehicleAreaWindow::FRONT_WINDSHIELD"
                 },
                 {
                     "defaultValue": {
@@ -130,9 +113,7 @@
                             0
                         ]
                     },
-                    "areaId": "VehicleAreaWindow::REAR_WINDSHIELD",
-                    "minInt32Value": -100,
-                    "maxInt32Value": 100
+                    "areaId": "VehicleAreaWindow::REAR_WINDSHIELD"
                 },
                 {
                     "defaultValue": {
@@ -140,13 +121,23 @@
                             -1
                         ]
                     },
-                    "areaId": "VehicleAreaWindow::ROOF_TOP_1",
-                    "minInt32Value": -100,
-                    "maxInt32Value": 100
+                    "areaId": "VehicleAreaWindow::ROOF_TOP_1"
                 }
             ],
             "access": "VehiclePropertyAccess::READ_WRITE",
-            "changeMode": "VehiclePropertyChangeMode::ON_CHANGE"
+            "changeMode": "VehiclePropertyChangeMode::ON_CHANGE",
+            "hasSupportedValueInfo": {
+                "hasMinSupportedValue": true,
+                "hasMaxSupportedValue": true,
+                "hasSupportedValuesList": true
+            },
+            "minInt32Value": -100,
+            "maxInt32Value": 100,
+            "supportedValues": [
+                1,
+                2,
+                3
+            ]
         },
         {
             "property": "TestVendorProperty::VENDOR_EXTENSION_STRING_PROPERTY",
@@ -224,4 +215,4 @@
             ]
         }
     ]
-}
\ No newline at end of file
+}