%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /www/old2/_music/diplomka/
Upload File :
Create Path :
Current File : /www/old2/_music/diplomka/DoorDatapoints.patch

Index: ConfigApp.Data/InternalDataSet.Designer.cs
===================================================================
--- ConfigApp.Data/InternalDataSet.Designer.cs	(revision 3451)
+++ ConfigApp.Data/InternalDataSet.Designer.cs	(working copy)
@@ -434,37 +434,37 @@
         
         private HWBus2DoorGuardIOModeDataTable tableHWBus2DoorGuardIOMode;
         
+        private global::System.Data.DataRelation relationPartitionMember_DetectorGroup;
+        
         private global::System.Data.DataRelation relationFK_SounderTemplate_DetectorGroup;
         
-        private global::System.Data.DataRelation relationPartitionMember_DetectorGroup;
+        private global::System.Data.DataRelation relationVirtualPIR_VirtualBusPIR;
         
         private global::System.Data.DataRelation relationLogicalPIR_VirtualBusPIR;
         
-        private global::System.Data.DataRelation relationVirtualPIR_VirtualBusPIR;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualInput;
         
         private global::System.Data.DataRelation relationLogicalInput_VirtualInput;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualInput;
+        private global::System.Data.DataRelation relationFK_Signal_VirtualOutput;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualOutput;
-        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualOutput;
         
-        private global::System.Data.DataRelation relationFK_Signal_VirtualOutput;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualOutput;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualUserInterface;
         
         private global::System.Data.DataRelation relationFK_LogicalAccessPoint_AccessPoint;
         
+        private global::System.Data.DataRelation relationVirtualDoor_VirtualBusDoor;
+        
         private global::System.Data.DataRelation relationLogicalDoor_VirtualBusDoor;
         
-        private global::System.Data.DataRelation relationVirtualDoor_VirtualBusDoor;
+        private global::System.Data.DataRelation relationActionOn_Macro;
         
-        private global::System.Data.DataRelation relationCondition_Macro;
-        
         private global::System.Data.DataRelation relationActionOff_Macro;
         
-        private global::System.Data.DataRelation relationActionOn_Macro;
+        private global::System.Data.DataRelation relationCondition_Macro;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalPIR;
         
@@ -490,10 +490,10 @@
         
         private global::System.Data.DataRelation relationAccessPoint_FaultTries;
         
+        private global::System.Data.DataRelation relationActionList_ActionList_Command;
+        
         private global::System.Data.DataRelation relationCommand_ActionList_Command;
         
-        private global::System.Data.DataRelation relationActionList_ActionList_Command;
-        
         private global::System.Data.DataRelation relationObject_Building;
         
         private global::System.Data.DataRelation relationBuilding_Floor;
@@ -500,87 +500,87 @@
         
         private global::System.Data.DataRelation relationFloor_Room;
         
+        private global::System.Data.DataRelation relationPartitionMember_VirtualDevice;
+        
         private global::System.Data.DataRelation relationLogicalDevice_VirtualDevice;
         
-        private global::System.Data.DataRelation relationPartitionMember_VirtualDevice;
-        
         private global::System.Data.DataRelation relationHardwareDevice_LogicalDevice;
         
+        private global::System.Data.DataRelation relationCatalogueData_HardwareDevice;
+        
         private global::System.Data.DataRelation relationHardwareDevice_HardwareDevice;
         
-        private global::System.Data.DataRelation relationCatalogueData_HardwareDevice;
+        private global::System.Data.DataRelation relationVirtualPIR_VirtualHardwiredPIR;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredPIR2;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR1;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredPIR1;
         
         private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR2;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredPIR1;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR1;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredPIR2;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR;
         
-        private global::System.Data.DataRelation relationVirtualPIR_VirtualHardwiredPIR;
+        private global::System.Data.DataRelation relationVirtualDoor_VirtualHardwiredDoor;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualWiredDoor;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor2;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor1;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor1;
         
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor2;
+        
         private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor6;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor2;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor1;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor1;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualWiredDoor;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor2;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualSounder;
         
-        private global::System.Data.DataRelation relationVirtualDoor_VirtualHardwiredDoor;
-        
         private global::System.Data.DataRelation relationLogicalSounder_VirtualSounder;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualSounder;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualEmail;
         
         private global::System.Data.DataRelation relationLogicalEmail_VirtualEmail;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualEmail;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualCamera;
         
         private global::System.Data.DataRelation relationLogicalCamera_VirtualCamera;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualCamera;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualSMS;
         
         private global::System.Data.DataRelation relationLogicalSMS_VirtualSMS;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualSMS;
+        private global::System.Data.DataRelation relationLogicalReader_VirtualReader;
         
         private global::System.Data.DataRelation relationVirtualUserInterface_VirtualReader;
         
-        private global::System.Data.DataRelation relationLogicalReader_VirtualReader;
+        private global::System.Data.DataRelation relationLogicalKeyboard_VirtualKeyboard;
         
         private global::System.Data.DataRelation relationVirtualUserInterface_VirtualKeyboard;
         
-        private global::System.Data.DataRelation relationLogicalKeyboard_VirtualKeyboard;
+        private global::System.Data.DataRelation relationLogicalKeyboardReader_VirtualKeyboardReader;
         
         private global::System.Data.DataRelation relationVirtualUserInterface_VirtualKeyboardReader;
         
-        private global::System.Data.DataRelation relationLogicalKeyboardReader_VirtualKeyboardReader;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualKeySwitch;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualKeySwitch;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualKeySwitch;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualRelay;
         
         private global::System.Data.DataRelation relationLogicalOutput_VirtualRelay;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualRelay;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualWindow;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWindow;
-        
         private global::System.Data.DataRelation relationLogicalInput_VirtualWindow1;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualWindow;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWindow;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalPeripheral;
         
@@ -588,18 +588,18 @@
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalTemperature;
         
+        private global::System.Data.DataRelation relationLogicalPeripheral_VirtualPeripheral;
+        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualPeripheral;
         
-        private global::System.Data.DataRelation relationLogicalPeripheral_VirtualPeripheral;
+        private global::System.Data.DataRelation relationLogicalSmokeDetector_VirtualSmokeDetector;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualSmokeDetector;
         
-        private global::System.Data.DataRelation relationLogicalSmokeDetector_VirtualSmokeDetector;
+        private global::System.Data.DataRelation relationLogicalTemperature_VirtualTemperature;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualTemperature;
         
-        private global::System.Data.DataRelation relationLogicalTemperature_VirtualTemperature;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalKeyboard;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalKeyboardReader;
@@ -606,10 +606,10 @@
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalReader;
         
+        private global::System.Data.DataRelation relationFK_HardwareDevice_WirelessMaster1;
+        
         private global::System.Data.DataRelation relationFK_HardwareDevice_WirelessMaster;
         
-        private global::System.Data.DataRelation relationFK_HardwareDevice_WirelessMaster1;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalInstallServices;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalSmartUI;
@@ -620,39 +620,39 @@
         
         private global::System.Data.DataRelation relationAccessPoint_APMacro;
         
+        private global::System.Data.DataRelation relationFK_User_AccessPoint_User;
+        
         private global::System.Data.DataRelation relationFK_AccessPoint_AccessPoint_User;
         
-        private global::System.Data.DataRelation relationFK_User_AccessPoint_User;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle2;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle1;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle3;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle4;
         
         private global::System.Data.DataRelation relationPartition_ExternalSounderStyle;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle4;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle3;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle1;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle2;
+        private global::System.Data.DataRelation relationPartition_Partition_SignalingGroup;
         
         private global::System.Data.DataRelation relationSignalingGroup_Partition_SignalingGroup;
         
-        private global::System.Data.DataRelation relationPartition_Partition_SignalingGroup;
+        private global::System.Data.DataRelation relationSignalingGroup_SignalingGroup_Siren;
         
         private global::System.Data.DataRelation relationVirtualDevice_SignalingGroup_Sounder;
         
-        private global::System.Data.DataRelation relationSignalingGroup_SignalingGroup_Siren;
+        private global::System.Data.DataRelation relationVirtualFlasher_SignalingGroup_Flasher;
         
         private global::System.Data.DataRelation relationSignalingGroup_SignalingGroup_Flasher;
         
-        private global::System.Data.DataRelation relationVirtualFlasher_SignalingGroup_Flasher;
+        private global::System.Data.DataRelation relationLogicalOutput_APTurnstile;
         
-        private global::System.Data.DataRelation relationLogicalInput_APTurnstile;
-        
         private global::System.Data.DataRelation relationAccessPoint_APTurnstile;
         
-        private global::System.Data.DataRelation relationLogicalOutput_APTurnstile;
+        private global::System.Data.DataRelation relationLogicalInput_APTurnstile;
         
         private global::System.Data.DataRelation relationHardwareDevice_HWIBusBusController;
         
@@ -742,10 +742,10 @@
         
         private global::System.Data.DataRelation relationPartition_PartitionFaultType;
         
+        private global::System.Data.DataRelation relationPartitionMember_VirtualPeripheralPartitionMemberFaultType;
+        
         private global::System.Data.DataRelation relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType;
         
-        private global::System.Data.DataRelation relationPartitionMember_VirtualPeripheralPartitionMemberFaultType;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalWirelessPeripheral;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalWirelessMaster;
@@ -754,40 +754,40 @@
         
         private global::System.Data.DataRelation relationPartition_UnsetPreventionAlarmType;
         
+        private global::System.Data.DataRelation relationFK_AccessPointGroup_AccessPointGroup_AccessPoint;
+        
         private global::System.Data.DataRelation relationAccessPoint_ScheduledItem_AccessPoint;
         
-        private global::System.Data.DataRelation relationFK_AccessPointGroup_AccessPointGroup_AccessPoint;
-        
         private global::System.Data.DataRelation relationUserGroup_DatePeriod;
         
         private global::System.Data.DataRelation relationFK_TimeSchedule_TimePeriod;
         
+        private global::System.Data.DataRelation relationFK_RTZ_UserGroup_TimeSchedule;
+        
         private global::System.Data.DataRelation relationFK_TimeSchedule_UserGroup_TimeSchedule;
         
-        private global::System.Data.DataRelation relationFK_RTZ_UserGroup_TimeSchedule;
+        private global::System.Data.DataRelation relationUser_User_UserGroup;
         
         private global::System.Data.DataRelation relationUserGroup_User_UserGroup;
         
-        private global::System.Data.DataRelation relationUser_User_UserGroup;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualFlasher;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualFlasher;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualFlasher;
+        private global::System.Data.DataRelation relationLogicalDSAlarmReporting_VirtualDSDevice;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualDSDevice;
         
-        private global::System.Data.DataRelation relationLogicalDSAlarmReporting_VirtualDSDevice;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalDSAlarmReporting;
         
+        private global::System.Data.DataRelation relationFK_Partition_AlarmDevice;
+        
         private global::System.Data.DataRelation relationFK_VirtualDSDevice_AlarmDevice;
         
-        private global::System.Data.DataRelation relationFK_Partition_AlarmDevice;
+        private global::System.Data.DataRelation relationFK_AlarmDevice_AlarmDevice_FaultPartition;
         
         private global::System.Data.DataRelation relationFK_Partition_AlarmDevice_FaultPartition;
         
-        private global::System.Data.DataRelation relationFK_AlarmDevice_AlarmDevice_FaultPartition;
-        
         private global::System.Data.DataRelation relationFK_AlarmDevice_Channel;
         
         private global::System.Data.DataRelation relationHardwareDevice_HWSerialDS6700;
@@ -802,20 +802,20 @@
         
         private global::System.Data.DataRelation relationTrigger_Trigger_SingleEvent;
         
+        private global::System.Data.DataRelation relationLogicalWirelessMaster_VirtualWirelessMaster;
+        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualWirelessMaster;
         
-        private global::System.Data.DataRelation relationLogicalWirelessMaster_VirtualWirelessMaster;
+        private global::System.Data.DataRelation relationLogicalWirelessPeripheral_VirtualWirelessPeripheral;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualWirelessPeripheral;
         
-        private global::System.Data.DataRelation relationLogicalWirelessPeripheral_VirtualWirelessPeripheral;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalCarbonMonoxide;
         
+        private global::System.Data.DataRelation relationLogicalCarbonMonoxide_VirtualCarbonMonoxide;
+        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualCarbonMonoxide;
         
-        private global::System.Data.DataRelation relationLogicalCarbonMonoxide_VirtualCarbonMonoxide;
-        
         private global::System.Data.DataRelation relationFK_HardwareDevice_HWGPIOInput;
         
         private global::System.Data.DataRelation relationFK_HardwareDevice_HWGPIOOutput;
@@ -828,96 +828,96 @@
         
         private global::System.Data.DataRelation relationFK_HardwareDevice_UIProxy;
         
+        private global::System.Data.DataRelation relationLogicalSmartUI_UIProxyTouchCenter;
+        
         private global::System.Data.DataRelation relationUIProxy_UITouchCenter;
         
-        private global::System.Data.DataRelation relationLogicalSmartUI_UIProxyTouchCenter;
-        
         private global::System.Data.DataRelation relationFK_UIProxy_UIProxy_Partition;
         
+        private global::System.Data.DataRelation relationFK_Partition_PartitionDependency1;
+        
         private global::System.Data.DataRelation relationFK_Partition_PartitionDependency;
         
-        private global::System.Data.DataRelation relationFK_Partition_PartitionDependency1;
-        
         private global::System.Data.DataRelation relationFK_Partition_StoredFaultTypes;
         
+        private global::System.Data.DataRelation relationPartition_Partition_LocalSounder;
+        
         private global::System.Data.DataRelation relationVirtualSounder_Partition_LocalSounder;
         
-        private global::System.Data.DataRelation relationPartition_Partition_LocalSounder;
-        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualPIR;
         
+        private global::System.Data.DataRelation relationDetectorGroup_VirtualDoor;
+        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualDoor;
         
-        private global::System.Data.DataRelation relationDetectorGroup_VirtualDoor;
+        private global::System.Data.DataRelation relationFK_VirtualDoor_ScheduledItem_Door;
         
         private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_Door;
         
-        private global::System.Data.DataRelation relationFK_VirtualDoor_ScheduledItem_Door;
-        
         private global::System.Data.DataRelation relationHardwareDevice_HWBus2ViewguardDual;
         
         private global::System.Data.DataRelation relationFK_Partition_SoundingFaultTypes;
         
+        private global::System.Data.DataRelation relationFK_AccessPoint_ScheduledItem_AP;
+        
         private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_AP;
         
-        private global::System.Data.DataRelation relationFK_AccessPoint_ScheduledItem_AP;
+        private global::System.Data.DataRelation relationFK_VirtualDevice_VirtualKey;
         
         private global::System.Data.DataRelation relationFK_LogicalKey_VirtualKey;
         
-        private global::System.Data.DataRelation relationFK_VirtualDevice_VirtualKey;
-        
         private global::System.Data.DataRelation relationFK_LogicalDevice_LogicalKey;
         
+        private global::System.Data.DataRelation relationFK_LogicalLed_VirtualLed;
+        
         private global::System.Data.DataRelation relationFK_VirtualDevice_VirtualLed;
         
-        private global::System.Data.DataRelation relationFK_LogicalLed_VirtualLed;
-        
         private global::System.Data.DataRelation relationFK_LogicalDevice_LogicalLed;
         
-        private global::System.Data.DataRelation relationLogicalPeripheral_UIKeypad;
+        private global::System.Data.DataRelation relationFK_LogicalKeyboardReader_UIKeypad;
         
-        private global::System.Data.DataRelation relationFK_LogicalDisplay_UIKeypad;
+        private global::System.Data.DataRelation relationFK_UIProxy_Keypad_UIProxy_Keypad;
         
         private global::System.Data.DataRelation relationUIProxy_UIKeypad;
         
-        private global::System.Data.DataRelation relationFK_UIProxy_Keypad_UIProxy_Keypad;
+        private global::System.Data.DataRelation relationFK_LogicalDisplay_UIKeypad;
         
-        private global::System.Data.DataRelation relationFK_LogicalKeyboardReader_UIKeypad;
+        private global::System.Data.DataRelation relationLogicalPeripheral_UIKeypad;
         
-        private global::System.Data.DataRelation relationFK_Signal_UIKeypadItem2;
+        private global::System.Data.DataRelation relationFK_LogicalKey_UIKeypadItem;
         
-        private global::System.Data.DataRelation relationSignal_UIKeypadItem;
+        private global::System.Data.DataRelation relationFK_LogicalLed_UIKeypadItem;
         
+        private global::System.Data.DataRelation relationUIKeypad_UIKeypadItem;
+        
         private global::System.Data.DataRelation relationSignal_UIKeypadItem1;
         
-        private global::System.Data.DataRelation relationUIKeypad_UIKeypadItem;
+        private global::System.Data.DataRelation relationSignal_UIKeypadItem;
         
-        private global::System.Data.DataRelation relationFK_LogicalLed_UIKeypadItem;
+        private global::System.Data.DataRelation relationFK_Signal_UIKeypadItem2;
         
-        private global::System.Data.DataRelation relationFK_LogicalKey_UIKeypadItem;
-        
         private global::System.Data.DataRelation relationFK_LogicalDevice_LogicalDisplay;
         
+        private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_UIProxy;
+        
         private global::System.Data.DataRelation relationFK_UIProxy_ScheduledItem_UIProxy;
         
-        private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_UIProxy;
-        
         private global::System.Data.DataRelation relationFK_HardwareDevice_HWBus2KeypadLED;
         
         private global::System.Data.DataRelation relationFK_HardwareDevice_HWBus2KeypadLCD;
         
+        private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_Partition;
+        
         private global::System.Data.DataRelation relationFK_Partition_ScheduledItem_Partition;
         
-        private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_Partition;
+        private global::System.Data.DataRelation relationScheduledItem_UserGroup_ScheduledItem;
         
         private global::System.Data.DataRelation relationUserGroup_UserGroup_ScheduledItem;
         
-        private global::System.Data.DataRelation relationScheduledItem_UserGroup_ScheduledItem;
+        private global::System.Data.DataRelation relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton;
         
         private global::System.Data.DataRelation relationFK_VirtualDevice_VirtualWirelessPanicButton;
         
-        private global::System.Data.DataRelation relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalWirelessPanicButton;
         
         private global::System.Data.DataRelation relationHardwareDevice_HWBus2ViewGuardPIRMask;
@@ -954,10 +954,10 @@
         
         private global::System.Data.DataRelation relationFK_Trigger_Trigger_SimpleFilter;
         
+        private global::System.Data.DataRelation relationFK_Macro_ScheduledItem_Macro;
+        
         private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_Macro;
         
-        private global::System.Data.DataRelation relationFK_Macro_ScheduledItem_Macro;
-        
         private global::System.Data.DataRelation relationPartitionMember_PMCollection_PartitionMember;
         
         private global::System.Data.DataRelation relationPMCollection_PMCollection_PartitionMember;
@@ -5630,22 +5630,22 @@
                     this.tableHWBus2DoorGuardIOMode.InitVars();
                 }
             }
+            this.relationPartitionMember_DetectorGroup = this.Relations["PartitionMember_DetectorGroup"];
             this.relationFK_SounderTemplate_DetectorGroup = this.Relations["FK_SounderTemplate_DetectorGroup"];
-            this.relationPartitionMember_DetectorGroup = this.Relations["PartitionMember_DetectorGroup"];
+            this.relationVirtualPIR_VirtualBusPIR = this.Relations["VirtualPIR_VirtualBusPIR"];
             this.relationLogicalPIR_VirtualBusPIR = this.Relations["LogicalPIR_VirtualBusPIR"];
-            this.relationVirtualPIR_VirtualBusPIR = this.Relations["VirtualPIR_VirtualBusPIR"];
+            this.relationVirtualDevice_VirtualInput = this.Relations["VirtualDevice_VirtualInput"];
             this.relationLogicalInput_VirtualInput = this.Relations["LogicalInput_VirtualInput"];
-            this.relationVirtualDevice_VirtualInput = this.Relations["VirtualDevice_VirtualInput"];
+            this.relationFK_Signal_VirtualOutput = this.Relations["FK_Signal_VirtualOutput"];
+            this.relationVirtualDevice_VirtualOutput = this.Relations["VirtualDevice_VirtualOutput"];
             this.relationLogicalOutput_VirtualOutput = this.Relations["LogicalOutput_VirtualOutput"];
-            this.relationVirtualDevice_VirtualOutput = this.Relations["VirtualDevice_VirtualOutput"];
-            this.relationFK_Signal_VirtualOutput = this.Relations["FK_Signal_VirtualOutput"];
             this.relationVirtualDevice_VirtualUserInterface = this.Relations["VirtualDevice_VirtualUserInterface"];
             this.relationFK_LogicalAccessPoint_AccessPoint = this.Relations["FK_LogicalAccessPoint_AccessPoint"];
+            this.relationVirtualDoor_VirtualBusDoor = this.Relations["VirtualDoor_VirtualBusDoor"];
             this.relationLogicalDoor_VirtualBusDoor = this.Relations["LogicalDoor_VirtualBusDoor"];
-            this.relationVirtualDoor_VirtualBusDoor = this.Relations["VirtualDoor_VirtualBusDoor"];
+            this.relationActionOn_Macro = this.Relations["ActionOn_Macro"];
+            this.relationActionOff_Macro = this.Relations["ActionOff_Macro"];
             this.relationCondition_Macro = this.Relations["Condition_Macro"];
-            this.relationActionOff_Macro = this.Relations["ActionOff_Macro"];
-            this.relationActionOn_Macro = this.Relations["ActionOn_Macro"];
             this.relationLogicalDevice_LogicalPIR = this.Relations["LogicalDevice_LogicalPIR"];
             this.relationLogicalDevice_LogicalInput = this.Relations["LogicalDevice_LogicalInput"];
             this.relationLogicalDevice_LogicalOutput = this.Relations["LogicalDevice_LogicalOutput"];
@@ -5658,88 +5658,88 @@
             this.relationFK_HardwareDevice_Port = this.Relations["FK_HardwareDevice_Port"];
             this.relationAccessPoint_MultiplePersonAccess = this.Relations["AccessPoint_MultiplePersonAccess"];
             this.relationAccessPoint_FaultTries = this.Relations["AccessPoint_FaultTries"];
+            this.relationActionList_ActionList_Command = this.Relations["ActionList_ActionList_Command"];
             this.relationCommand_ActionList_Command = this.Relations["Command_ActionList_Command"];
-            this.relationActionList_ActionList_Command = this.Relations["ActionList_ActionList_Command"];
             this.relationObject_Building = this.Relations["Object_Building"];
             this.relationBuilding_Floor = this.Relations["Building_Floor"];
             this.relationFloor_Room = this.Relations["Floor_Room"];
+            this.relationPartitionMember_VirtualDevice = this.Relations["PartitionMember_VirtualDevice"];
             this.relationLogicalDevice_VirtualDevice = this.Relations["LogicalDevice_VirtualDevice"];
-            this.relationPartitionMember_VirtualDevice = this.Relations["PartitionMember_VirtualDevice"];
             this.relationHardwareDevice_LogicalDevice = this.Relations["HardwareDevice_LogicalDevice"];
+            this.relationCatalogueData_HardwareDevice = this.Relations["CatalogueData_HardwareDevice"];
             this.relationHardwareDevice_HardwareDevice = this.Relations["HardwareDevice_HardwareDevice"];
-            this.relationCatalogueData_HardwareDevice = this.Relations["CatalogueData_HardwareDevice"];
+            this.relationVirtualPIR_VirtualHardwiredPIR = this.Relations["VirtualPIR_VirtualHardwiredPIR"];
+            this.relationLogicalOutput_VirtualWiredPIR2 = this.Relations["LogicalOutput_VirtualWiredPIR2"];
+            this.relationLogicalOutput_VirtualWiredPIR1 = this.Relations["LogicalOutput_VirtualWiredPIR1"];
+            this.relationLogicalInput_VirtualWiredPIR2 = this.Relations["LogicalInput_VirtualWiredPIR2"];
+            this.relationLogicalInput_VirtualWiredPIR1 = this.Relations["LogicalInput_VirtualWiredPIR1"];
             this.relationLogicalInput_VirtualWiredPIR = this.Relations["LogicalInput_VirtualWiredPIR"];
-            this.relationLogicalInput_VirtualWiredPIR1 = this.Relations["LogicalInput_VirtualWiredPIR1"];
-            this.relationLogicalInput_VirtualWiredPIR2 = this.Relations["LogicalInput_VirtualWiredPIR2"];
-            this.relationLogicalOutput_VirtualWiredPIR1 = this.Relations["LogicalOutput_VirtualWiredPIR1"];
-            this.relationLogicalOutput_VirtualWiredPIR2 = this.Relations["LogicalOutput_VirtualWiredPIR2"];
-            this.relationVirtualPIR_VirtualHardwiredPIR = this.Relations["VirtualPIR_VirtualHardwiredPIR"];
+            this.relationVirtualDoor_VirtualHardwiredDoor = this.Relations["VirtualDoor_VirtualHardwiredDoor"];
+            this.relationLogicalInput_VirtualWiredDoor2 = this.Relations["LogicalInput_VirtualWiredDoor2"];
+            this.relationLogicalOutput_VirtualWiredDoor = this.Relations["LogicalOutput_VirtualWiredDoor"];
+            this.relationLogicalOutput_VirtualWiredDoor1 = this.Relations["LogicalOutput_VirtualWiredDoor1"];
+            this.relationLogicalOutput_VirtualWiredDoor2 = this.Relations["LogicalOutput_VirtualWiredDoor2"];
+            this.relationLogicalOutput_VirtualWiredDoor6 = this.Relations["LogicalOutput_VirtualWiredDoor6"];
+            this.relationLogicalInput_VirtualWiredDoor = this.Relations["LogicalInput_VirtualWiredDoor"];
+            this.relationLogicalInput_VirtualWiredDoor1 = this.Relations["LogicalInput_VirtualWiredDoor1"];
             this.relationVirtualDevice_VirtualWiredDoor = this.Relations["VirtualDevice_VirtualWiredDoor"];
-            this.relationLogicalInput_VirtualWiredDoor1 = this.Relations["LogicalInput_VirtualWiredDoor1"];
-            this.relationLogicalInput_VirtualWiredDoor = this.Relations["LogicalInput_VirtualWiredDoor"];
-            this.relationLogicalOutput_VirtualWiredDoor6 = this.Relations["LogicalOutput_VirtualWiredDoor6"];
-            this.relationLogicalOutput_VirtualWiredDoor2 = this.Relations["LogicalOutput_VirtualWiredDoor2"];
-            this.relationLogicalOutput_VirtualWiredDoor1 = this.Relations["LogicalOutput_VirtualWiredDoor1"];
-            this.relationLogicalOutput_VirtualWiredDoor = this.Relations["LogicalOutput_VirtualWiredDoor"];
-            this.relationLogicalInput_VirtualWiredDoor2 = this.Relations["LogicalInput_VirtualWiredDoor2"];
-            this.relationVirtualDoor_VirtualHardwiredDoor = this.Relations["VirtualDoor_VirtualHardwiredDoor"];
+            this.relationVirtualDevice_VirtualSounder = this.Relations["VirtualDevice_VirtualSounder"];
             this.relationLogicalSounder_VirtualSounder = this.Relations["LogicalSounder_VirtualSounder"];
-            this.relationVirtualDevice_VirtualSounder = this.Relations["VirtualDevice_VirtualSounder"];
+            this.relationVirtualDevice_VirtualEmail = this.Relations["VirtualDevice_VirtualEmail"];
             this.relationLogicalEmail_VirtualEmail = this.Relations["LogicalEmail_VirtualEmail"];
-            this.relationVirtualDevice_VirtualEmail = this.Relations["VirtualDevice_VirtualEmail"];
+            this.relationVirtualDevice_VirtualCamera = this.Relations["VirtualDevice_VirtualCamera"];
             this.relationLogicalCamera_VirtualCamera = this.Relations["LogicalCamera_VirtualCamera"];
-            this.relationVirtualDevice_VirtualCamera = this.Relations["VirtualDevice_VirtualCamera"];
+            this.relationVirtualDevice_VirtualSMS = this.Relations["VirtualDevice_VirtualSMS"];
             this.relationLogicalSMS_VirtualSMS = this.Relations["LogicalSMS_VirtualSMS"];
-            this.relationVirtualDevice_VirtualSMS = this.Relations["VirtualDevice_VirtualSMS"];
+            this.relationLogicalReader_VirtualReader = this.Relations["LogicalReader_VirtualReader"];
             this.relationVirtualUserInterface_VirtualReader = this.Relations["VirtualUserInterface_VirtualReader"];
-            this.relationLogicalReader_VirtualReader = this.Relations["LogicalReader_VirtualReader"];
+            this.relationLogicalKeyboard_VirtualKeyboard = this.Relations["LogicalKeyboard_VirtualKeyboard"];
             this.relationVirtualUserInterface_VirtualKeyboard = this.Relations["VirtualUserInterface_VirtualKeyboard"];
-            this.relationLogicalKeyboard_VirtualKeyboard = this.Relations["LogicalKeyboard_VirtualKeyboard"];
+            this.relationLogicalKeyboardReader_VirtualKeyboardReader = this.Relations["LogicalKeyboardReader_VirtualKeyboardReader"];
             this.relationVirtualUserInterface_VirtualKeyboardReader = this.Relations["VirtualUserInterface_VirtualKeyboardReader"];
-            this.relationLogicalKeyboardReader_VirtualKeyboardReader = this.Relations["LogicalKeyboardReader_VirtualKeyboardReader"];
+            this.relationLogicalInput_VirtualKeySwitch = this.Relations["LogicalInput_VirtualKeySwitch"];
             this.relationVirtualDevice_VirtualKeySwitch = this.Relations["VirtualDevice_VirtualKeySwitch"];
-            this.relationLogicalInput_VirtualKeySwitch = this.Relations["LogicalInput_VirtualKeySwitch"];
+            this.relationVirtualDevice_VirtualRelay = this.Relations["VirtualDevice_VirtualRelay"];
             this.relationLogicalOutput_VirtualRelay = this.Relations["LogicalOutput_VirtualRelay"];
-            this.relationVirtualDevice_VirtualRelay = this.Relations["VirtualDevice_VirtualRelay"];
+            this.relationVirtualDevice_VirtualWindow = this.Relations["VirtualDevice_VirtualWindow"];
+            this.relationLogicalInput_VirtualWindow1 = this.Relations["LogicalInput_VirtualWindow1"];
             this.relationLogicalInput_VirtualWindow = this.Relations["LogicalInput_VirtualWindow"];
-            this.relationLogicalInput_VirtualWindow1 = this.Relations["LogicalInput_VirtualWindow1"];
-            this.relationVirtualDevice_VirtualWindow = this.Relations["VirtualDevice_VirtualWindow"];
             this.relationLogicalDevice_LogicalPeripheral = this.Relations["LogicalDevice_LogicalPeripheral"];
             this.relationLogicalDevice_LogicalSmokeDetector = this.Relations["LogicalDevice_LogicalSmokeDetector"];
             this.relationLogicalDevice_LogicalTemperature = this.Relations["LogicalDevice_LogicalTemperature"];
+            this.relationLogicalPeripheral_VirtualPeripheral = this.Relations["LogicalPeripheral_VirtualPeripheral"];
             this.relationVirtualDevice_VirtualPeripheral = this.Relations["VirtualDevice_VirtualPeripheral"];
-            this.relationLogicalPeripheral_VirtualPeripheral = this.Relations["LogicalPeripheral_VirtualPeripheral"];
+            this.relationLogicalSmokeDetector_VirtualSmokeDetector = this.Relations["LogicalSmokeDetector_VirtualSmokeDetector"];
             this.relationVirtualDevice_VirtualSmokeDetector = this.Relations["VirtualDevice_VirtualSmokeDetector"];
-            this.relationLogicalSmokeDetector_VirtualSmokeDetector = this.Relations["LogicalSmokeDetector_VirtualSmokeDetector"];
+            this.relationLogicalTemperature_VirtualTemperature = this.Relations["LogicalTemperature_VirtualTemperature"];
             this.relationVirtualDevice_VirtualTemperature = this.Relations["VirtualDevice_VirtualTemperature"];
-            this.relationLogicalTemperature_VirtualTemperature = this.Relations["LogicalTemperature_VirtualTemperature"];
             this.relationLogicalDevice_LogicalKeyboard = this.Relations["LogicalDevice_LogicalKeyboard"];
             this.relationLogicalDevice_LogicalKeyboardReader = this.Relations["LogicalDevice_LogicalKeyboardReader"];
             this.relationLogicalDevice_LogicalReader = this.Relations["LogicalDevice_LogicalReader"];
+            this.relationFK_HardwareDevice_WirelessMaster1 = this.Relations["FK_HardwareDevice_WirelessMaster1"];
             this.relationFK_HardwareDevice_WirelessMaster = this.Relations["FK_HardwareDevice_WirelessMaster"];
-            this.relationFK_HardwareDevice_WirelessMaster1 = this.Relations["FK_HardwareDevice_WirelessMaster1"];
             this.relationLogicalDevice_LogicalInstallServices = this.Relations["LogicalDevice_LogicalInstallServices"];
             this.relationLogicalDevice_LogicalSmartUI = this.Relations["LogicalDevice_LogicalSmartUI"];
             this.relationLogicalDevice_LogicalAccessPoint = this.Relations["LogicalDevice_LogicalAccessPoint"];
             this.relationAccessPoint_APQuickMacro = this.Relations["AccessPoint_APQuickMacro"];
             this.relationAccessPoint_APMacro = this.Relations["AccessPoint_APMacro"];
+            this.relationFK_User_AccessPoint_User = this.Relations["FK_User_AccessPoint_User"];
             this.relationFK_AccessPoint_AccessPoint_User = this.Relations["FK_AccessPoint_AccessPoint_User"];
-            this.relationFK_User_AccessPoint_User = this.Relations["FK_User_AccessPoint_User"];
+            this.relationFK_SounderTemplate_ExternalSounderStyle2 = this.Relations["FK_SounderTemplate_ExternalSounderStyle2"];
+            this.relationFK_SounderTemplate_ExternalSounderStyle3 = this.Relations["FK_SounderTemplate_ExternalSounderStyle3"];
+            this.relationFK_SounderTemplate_ExternalSounderStyle4 = this.Relations["FK_SounderTemplate_ExternalSounderStyle4"];
+            this.relationPartition_ExternalSounderStyle = this.Relations["Partition_ExternalSounderStyle"];
+            this.relationFK_SounderTemplate_ExternalSounderStyle = this.Relations["FK_SounderTemplate_ExternalSounderStyle"];
             this.relationFK_SounderTemplate_ExternalSounderStyle1 = this.Relations["FK_SounderTemplate_ExternalSounderStyle1"];
-            this.relationFK_SounderTemplate_ExternalSounderStyle = this.Relations["FK_SounderTemplate_ExternalSounderStyle"];
-            this.relationPartition_ExternalSounderStyle = this.Relations["Partition_ExternalSounderStyle"];
-            this.relationFK_SounderTemplate_ExternalSounderStyle4 = this.Relations["FK_SounderTemplate_ExternalSounderStyle4"];
-            this.relationFK_SounderTemplate_ExternalSounderStyle3 = this.Relations["FK_SounderTemplate_ExternalSounderStyle3"];
-            this.relationFK_SounderTemplate_ExternalSounderStyle2 = this.Relations["FK_SounderTemplate_ExternalSounderStyle2"];
+            this.relationPartition_Partition_SignalingGroup = this.Relations["Partition_Partition_SignalingGroup"];
             this.relationSignalingGroup_Partition_SignalingGroup = this.Relations["SignalingGroup_Partition_SignalingGroup"];
-            this.relationPartition_Partition_SignalingGroup = this.Relations["Partition_Partition_SignalingGroup"];
+            this.relationSignalingGroup_SignalingGroup_Siren = this.Relations["SignalingGroup_SignalingGroup_Siren"];
             this.relationVirtualDevice_SignalingGroup_Sounder = this.Relations["VirtualDevice_SignalingGroup_Sounder"];
-            this.relationSignalingGroup_SignalingGroup_Siren = this.Relations["SignalingGroup_SignalingGroup_Siren"];
+            this.relationVirtualFlasher_SignalingGroup_Flasher = this.Relations["VirtualFlasher_SignalingGroup_Flasher"];
             this.relationSignalingGroup_SignalingGroup_Flasher = this.Relations["SignalingGroup_SignalingGroup_Flasher"];
-            this.relationVirtualFlasher_SignalingGroup_Flasher = this.Relations["VirtualFlasher_SignalingGroup_Flasher"];
+            this.relationLogicalOutput_APTurnstile = this.Relations["LogicalOutput_APTurnstile"];
+            this.relationAccessPoint_APTurnstile = this.Relations["AccessPoint_APTurnstile"];
             this.relationLogicalInput_APTurnstile = this.Relations["LogicalInput_APTurnstile"];
-            this.relationAccessPoint_APTurnstile = this.Relations["AccessPoint_APTurnstile"];
-            this.relationLogicalOutput_APTurnstile = this.Relations["LogicalOutput_APTurnstile"];
             this.relationHardwareDevice_HWIBusBusController = this.Relations["HardwareDevice_HWIBusBusController"];
             this.relationHardwareDevice_HWIBusBus2Module = this.Relations["HardwareDevice_HWIBusBus2Module"];
             this.relationHardwareDevice_HWRS232PortController = this.Relations["HardwareDevice_HWRS232PortController"];
@@ -5784,29 +5784,29 @@
             this.relationCommand_Command_OutputPulseOn = this.Relations["Command_Command_OutputPulseOn"];
             this.relationCommand_Command_MacroDelay = this.Relations["Command_Command_MacroDelay"];
             this.relationPartition_PartitionFaultType = this.Relations["Partition_PartitionFaultType"];
+            this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType = this.Relations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"];
             this.relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType = this.Relations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"];
-            this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType = this.Relations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"];
             this.relationLogicalDevice_LogicalWirelessPeripheral = this.Relations["LogicalDevice_LogicalWirelessPeripheral"];
             this.relationLogicalDevice_LogicalWirelessMaster = this.Relations["LogicalDevice_LogicalWirelessMaster"];
             this.relationHardwareDevice_HWBus2WirelessPanicButtonController = this.Relations["HardwareDevice_HWBus2WirelessPanicButtonController"];
             this.relationPartition_UnsetPreventionAlarmType = this.Relations["Partition_UnsetPreventionAlarmType"];
+            this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint = this.Relations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"];
             this.relationAccessPoint_ScheduledItem_AccessPoint = this.Relations["AccessPoint_ScheduledItem_AccessPoint"];
-            this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint = this.Relations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"];
             this.relationUserGroup_DatePeriod = this.Relations["UserGroup_DatePeriod"];
             this.relationFK_TimeSchedule_TimePeriod = this.Relations["FK_TimeSchedule_TimePeriod"];
+            this.relationFK_RTZ_UserGroup_TimeSchedule = this.Relations["FK_RTZ_UserGroup_TimeSchedule"];
             this.relationFK_TimeSchedule_UserGroup_TimeSchedule = this.Relations["FK_TimeSchedule_UserGroup_TimeSchedule"];
-            this.relationFK_RTZ_UserGroup_TimeSchedule = this.Relations["FK_RTZ_UserGroup_TimeSchedule"];
+            this.relationUser_User_UserGroup = this.Relations["User_User_UserGroup"];
             this.relationUserGroup_User_UserGroup = this.Relations["UserGroup_User_UserGroup"];
-            this.relationUser_User_UserGroup = this.Relations["User_User_UserGroup"];
+            this.relationLogicalOutput_VirtualFlasher = this.Relations["LogicalOutput_VirtualFlasher"];
             this.relationVirtualDevice_VirtualFlasher = this.Relations["VirtualDevice_VirtualFlasher"];
-            this.relationLogicalOutput_VirtualFlasher = this.Relations["LogicalOutput_VirtualFlasher"];
+            this.relationLogicalDSAlarmReporting_VirtualDSDevice = this.Relations["LogicalDSAlarmReporting_VirtualDSDevice"];
             this.relationVirtualDevice_VirtualDSDevice = this.Relations["VirtualDevice_VirtualDSDevice"];
-            this.relationLogicalDSAlarmReporting_VirtualDSDevice = this.Relations["LogicalDSAlarmReporting_VirtualDSDevice"];
             this.relationLogicalDevice_LogicalDSAlarmReporting = this.Relations["LogicalDevice_LogicalDSAlarmReporting"];
+            this.relationFK_Partition_AlarmDevice = this.Relations["FK_Partition_AlarmDevice"];
             this.relationFK_VirtualDSDevice_AlarmDevice = this.Relations["FK_VirtualDSDevice_AlarmDevice"];
-            this.relationFK_Partition_AlarmDevice = this.Relations["FK_Partition_AlarmDevice"];
+            this.relationFK_AlarmDevice_AlarmDevice_FaultPartition = this.Relations["FK_AlarmDevice_AlarmDevice_FaultPartition"];
             this.relationFK_Partition_AlarmDevice_FaultPartition = this.Relations["FK_Partition_AlarmDevice_FaultPartition"];
-            this.relationFK_AlarmDevice_AlarmDevice_FaultPartition = this.Relations["FK_AlarmDevice_AlarmDevice_FaultPartition"];
             this.relationFK_AlarmDevice_Channel = this.Relations["FK_AlarmDevice_Channel"];
             this.relationHardwareDevice_HWSerialDS6700 = this.Relations["HardwareDevice_HWSerialDS6700"];
             this.relationHardwareDevice_HWSerialDS6750 = this.Relations["HardwareDevice_HWSerialDS6750"];
@@ -5814,13 +5814,13 @@
             this.relationHardwareDevice_HWSerialDS9500 = this.Relations["HardwareDevice_HWSerialDS9500"];
             this.relationTrigger_SimpleTrigger = this.Relations["Trigger_SimpleTrigger"];
             this.relationTrigger_Trigger_SingleEvent = this.Relations["Trigger_Trigger_SingleEvent"];
+            this.relationLogicalWirelessMaster_VirtualWirelessMaster = this.Relations["LogicalWirelessMaster_VirtualWirelessMaster"];
             this.relationVirtualDevice_VirtualWirelessMaster = this.Relations["VirtualDevice_VirtualWirelessMaster"];
-            this.relationLogicalWirelessMaster_VirtualWirelessMaster = this.Relations["LogicalWirelessMaster_VirtualWirelessMaster"];
+            this.relationLogicalWirelessPeripheral_VirtualWirelessPeripheral = this.Relations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"];
             this.relationVirtualDevice_VirtualWirelessPeripheral = this.Relations["VirtualDevice_VirtualWirelessPeripheral"];
-            this.relationLogicalWirelessPeripheral_VirtualWirelessPeripheral = this.Relations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"];
             this.relationLogicalDevice_LogicalCarbonMonoxide = this.Relations["LogicalDevice_LogicalCarbonMonoxide"];
+            this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide = this.Relations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"];
             this.relationVirtualDevice_VirtualCarbonMonoxide = this.Relations["VirtualDevice_VirtualCarbonMonoxide"];
-            this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide = this.Relations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"];
             this.relationFK_HardwareDevice_HWGPIOInput = this.Relations["FK_HardwareDevice_HWGPIOInput"];
             this.relationFK_HardwareDevice_HWGPIOOutput = this.Relations["FK_HardwareDevice_HWGPIOOutput"];
             this.relationFK_HardwareDevice_HWSPIInput = this.Relations["FK_HardwareDevice_HWSPIInput"];
@@ -5827,51 +5827,51 @@
             this.relationFK_HardwareDevice_HWSPIOutput = this.Relations["FK_HardwareDevice_HWSPIOutput"];
             this.relationFK_HardwareDevice_HWAnalogInput = this.Relations["FK_HardwareDevice_HWAnalogInput"];
             this.relationFK_HardwareDevice_UIProxy = this.Relations["FK_HardwareDevice_UIProxy"];
+            this.relationLogicalSmartUI_UIProxyTouchCenter = this.Relations["LogicalSmartUI_UIProxyTouchCenter"];
             this.relationUIProxy_UITouchCenter = this.Relations["UIProxy_UITouchCenter"];
-            this.relationLogicalSmartUI_UIProxyTouchCenter = this.Relations["LogicalSmartUI_UIProxyTouchCenter"];
             this.relationFK_UIProxy_UIProxy_Partition = this.Relations["FK_UIProxy_UIProxy_Partition"];
+            this.relationFK_Partition_PartitionDependency1 = this.Relations["FK_Partition_PartitionDependency1"];
             this.relationFK_Partition_PartitionDependency = this.Relations["FK_Partition_PartitionDependency"];
-            this.relationFK_Partition_PartitionDependency1 = this.Relations["FK_Partition_PartitionDependency1"];
             this.relationFK_Partition_StoredFaultTypes = this.Relations["FK_Partition_StoredFaultTypes"];
+            this.relationPartition_Partition_LocalSounder = this.Relations["Partition_Partition_LocalSounder"];
             this.relationVirtualSounder_Partition_LocalSounder = this.Relations["VirtualSounder_Partition_LocalSounder"];
-            this.relationPartition_Partition_LocalSounder = this.Relations["Partition_Partition_LocalSounder"];
             this.relationVirtualDevice_VirtualPIR = this.Relations["VirtualDevice_VirtualPIR"];
+            this.relationDetectorGroup_VirtualDoor = this.Relations["DetectorGroup_VirtualDoor"];
             this.relationVirtualDevice_VirtualDoor = this.Relations["VirtualDevice_VirtualDoor"];
-            this.relationDetectorGroup_VirtualDoor = this.Relations["DetectorGroup_VirtualDoor"];
+            this.relationFK_VirtualDoor_ScheduledItem_Door = this.Relations["FK_VirtualDoor_ScheduledItem_Door"];
             this.relationFK_ScheduledItem_ScheduledItem_Door = this.Relations["FK_ScheduledItem_ScheduledItem_Door"];
-            this.relationFK_VirtualDoor_ScheduledItem_Door = this.Relations["FK_VirtualDoor_ScheduledItem_Door"];
             this.relationHardwareDevice_HWBus2ViewguardDual = this.Relations["HardwareDevice_HWBus2ViewguardDual"];
             this.relationFK_Partition_SoundingFaultTypes = this.Relations["FK_Partition_SoundingFaultTypes"];
+            this.relationFK_AccessPoint_ScheduledItem_AP = this.Relations["FK_AccessPoint_ScheduledItem_AP"];
             this.relationFK_ScheduledItem_ScheduledItem_AP = this.Relations["FK_ScheduledItem_ScheduledItem_AP"];
-            this.relationFK_AccessPoint_ScheduledItem_AP = this.Relations["FK_AccessPoint_ScheduledItem_AP"];
+            this.relationFK_VirtualDevice_VirtualKey = this.Relations["FK_VirtualDevice_VirtualKey"];
             this.relationFK_LogicalKey_VirtualKey = this.Relations["FK_LogicalKey_VirtualKey"];
-            this.relationFK_VirtualDevice_VirtualKey = this.Relations["FK_VirtualDevice_VirtualKey"];
             this.relationFK_LogicalDevice_LogicalKey = this.Relations["FK_LogicalDevice_LogicalKey"];
+            this.relationFK_LogicalLed_VirtualLed = this.Relations["FK_LogicalLed_VirtualLed"];
             this.relationFK_VirtualDevice_VirtualLed = this.Relations["FK_VirtualDevice_VirtualLed"];
-            this.relationFK_LogicalLed_VirtualLed = this.Relations["FK_LogicalLed_VirtualLed"];
             this.relationFK_LogicalDevice_LogicalLed = this.Relations["FK_LogicalDevice_LogicalLed"];
+            this.relationFK_LogicalKeyboardReader_UIKeypad = this.Relations["FK_LogicalKeyboardReader_UIKeypad"];
+            this.relationFK_UIProxy_Keypad_UIProxy_Keypad = this.Relations["FK_UIProxy_Keypad_UIProxy_Keypad"];
+            this.relationUIProxy_UIKeypad = this.Relations["UIProxy_UIKeypad"];
+            this.relationFK_LogicalDisplay_UIKeypad = this.Relations["FK_LogicalDisplay_UIKeypad"];
             this.relationLogicalPeripheral_UIKeypad = this.Relations["LogicalPeripheral_UIKeypad"];
-            this.relationFK_LogicalDisplay_UIKeypad = this.Relations["FK_LogicalDisplay_UIKeypad"];
-            this.relationUIProxy_UIKeypad = this.Relations["UIProxy_UIKeypad"];
-            this.relationFK_UIProxy_Keypad_UIProxy_Keypad = this.Relations["FK_UIProxy_Keypad_UIProxy_Keypad"];
-            this.relationFK_LogicalKeyboardReader_UIKeypad = this.Relations["FK_LogicalKeyboardReader_UIKeypad"];
+            this.relationFK_LogicalKey_UIKeypadItem = this.Relations["FK_LogicalKey_UIKeypadItem"];
+            this.relationFK_LogicalLed_UIKeypadItem = this.Relations["FK_LogicalLed_UIKeypadItem"];
+            this.relationUIKeypad_UIKeypadItem = this.Relations["UIKeypad_UIKeypadItem"];
+            this.relationSignal_UIKeypadItem1 = this.Relations["Signal_UIKeypadItem1"];
+            this.relationSignal_UIKeypadItem = this.Relations["Signal_UIKeypadItem"];
             this.relationFK_Signal_UIKeypadItem2 = this.Relations["FK_Signal_UIKeypadItem2"];
-            this.relationSignal_UIKeypadItem = this.Relations["Signal_UIKeypadItem"];
-            this.relationSignal_UIKeypadItem1 = this.Relations["Signal_UIKeypadItem1"];
-            this.relationUIKeypad_UIKeypadItem = this.Relations["UIKeypad_UIKeypadItem"];
-            this.relationFK_LogicalLed_UIKeypadItem = this.Relations["FK_LogicalLed_UIKeypadItem"];
-            this.relationFK_LogicalKey_UIKeypadItem = this.Relations["FK_LogicalKey_UIKeypadItem"];
             this.relationFK_LogicalDevice_LogicalDisplay = this.Relations["FK_LogicalDevice_LogicalDisplay"];
+            this.relationFK_ScheduledItem_ScheduledItem_UIProxy = this.Relations["FK_ScheduledItem_ScheduledItem_UIProxy"];
             this.relationFK_UIProxy_ScheduledItem_UIProxy = this.Relations["FK_UIProxy_ScheduledItem_UIProxy"];
-            this.relationFK_ScheduledItem_ScheduledItem_UIProxy = this.Relations["FK_ScheduledItem_ScheduledItem_UIProxy"];
             this.relationFK_HardwareDevice_HWBus2KeypadLED = this.Relations["FK_HardwareDevice_HWBus2KeypadLED"];
             this.relationFK_HardwareDevice_HWBus2KeypadLCD = this.Relations["FK_HardwareDevice_HWBus2KeypadLCD"];
+            this.relationFK_ScheduledItem_ScheduledItem_Partition = this.Relations["FK_ScheduledItem_ScheduledItem_Partition"];
             this.relationFK_Partition_ScheduledItem_Partition = this.Relations["FK_Partition_ScheduledItem_Partition"];
-            this.relationFK_ScheduledItem_ScheduledItem_Partition = this.Relations["FK_ScheduledItem_ScheduledItem_Partition"];
+            this.relationScheduledItem_UserGroup_ScheduledItem = this.Relations["ScheduledItem_UserGroup_ScheduledItem"];
             this.relationUserGroup_UserGroup_ScheduledItem = this.Relations["UserGroup_UserGroup_ScheduledItem"];
-            this.relationScheduledItem_UserGroup_ScheduledItem = this.Relations["ScheduledItem_UserGroup_ScheduledItem"];
+            this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton = this.Relations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"];
             this.relationFK_VirtualDevice_VirtualWirelessPanicButton = this.Relations["FK_VirtualDevice_VirtualWirelessPanicButton"];
-            this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton = this.Relations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"];
             this.relationLogicalDevice_LogicalWirelessPanicButton = this.Relations["LogicalDevice_LogicalWirelessPanicButton"];
             this.relationHardwareDevice_HWBus2ViewGuardPIRMask = this.Relations["HardwareDevice_HWBus2ViewGuardPIRMask"];
             this.relationHardwareDevice_HWBus2ViewGuardDualMask = this.Relations["HardwareDevice_HWBus2ViewGuardDualMask"];
@@ -5890,8 +5890,8 @@
             this.relationFK_Command_Command_ISOMEvent = this.Relations["FK_Command_Command_ISOMEvent"];
             this.relationFK_Trigger_Trigger_PartitionAlarm = this.Relations["FK_Trigger_Trigger_PartitionAlarm"];
             this.relationFK_Trigger_Trigger_SimpleFilter = this.Relations["FK_Trigger_Trigger_SimpleFilter"];
+            this.relationFK_Macro_ScheduledItem_Macro = this.Relations["FK_Macro_ScheduledItem_Macro"];
             this.relationFK_ScheduledItem_ScheduledItem_Macro = this.Relations["FK_ScheduledItem_ScheduledItem_Macro"];
-            this.relationFK_Macro_ScheduledItem_Macro = this.Relations["FK_Macro_ScheduledItem_Macro"];
             this.relationPartitionMember_PMCollection_PartitionMember = this.Relations["PartitionMember_PMCollection_PartitionMember"];
             this.relationPMCollection_PMCollection_PartitionMember = this.Relations["PMCollection_PMCollection_PartitionMember"];
             this.relationExpression_Condition = this.Relations["Expression_Condition"];
@@ -6318,13 +6318,6 @@
             this.tableHWBus2DoorGuardIOMode = new HWBus2DoorGuardIOModeDataTable();
             base.Tables.Add(this.tableHWBus2DoorGuardIOMode);
             global::System.Data.ForeignKeyConstraint fkc;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_DetectorGroup", new global::System.Data.DataColumn[] {
-                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableDetectorGroup.SounderTemplateUIDColumn});
-            this.tableDetectorGroup.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_DetectorGroup", new global::System.Data.DataColumn[] {
                         this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableDetectorGroup.UIDColumn});
@@ -6332,12 +6325,12 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
-                        this.tableLogicalPIR.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualBusPIR.LogicalPIRUIDColumn});
-            this.tableVirtualBusPIR.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_DetectorGroup", new global::System.Data.DataColumn[] {
+                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableDetectorGroup.SounderTemplateUIDColumn});
+            this.tableDetectorGroup.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
                         this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6346,10 +6339,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualInput", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualInput.LogicalInputUIDColumn});
-            this.tableVirtualInput.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
+                        this.tableLogicalPIR.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualBusPIR.LogicalPIRUIDColumn});
+            this.tableVirtualBusPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6360,13 +6353,20 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualOutput", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualOutput.LogicalOutputUIDColumn});
-            this.tableVirtualOutput.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualInput", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualInput.LogicalInputUIDColumn});
+            this.tableVirtualInput.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Signal_VirtualOutput", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualOutput.SignalUIDColumn});
+            this.tableVirtualOutput.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualOutput", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualOutput.UIDColumn});
@@ -6374,12 +6374,12 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Signal_VirtualOutput", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualOutput.SignalUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualOutput", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualOutput.LogicalOutputUIDColumn});
             this.tableVirtualOutput.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualUserInterface", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6395,6 +6395,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualBusDoor.UIDColumn});
+            this.tableVirtualBusDoor.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
                         this.tableLogicalDoor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualBusDoor.LogicalDoorUIDColumn});
@@ -6402,16 +6409,9 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualBusDoor.UIDColumn});
-            this.tableVirtualBusDoor.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Condition_Macro", new global::System.Data.DataColumn[] {
-                        this.tableCondition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableMacro.ConditionUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("ActionOn_Macro", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableMacro.ActionOnUIDColumn});
             this.tableMacro.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -6423,9 +6423,9 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("ActionOn_Macro", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableMacro.ActionOnUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Condition_Macro", new global::System.Data.DataColumn[] {
+                        this.tableCondition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableMacro.ConditionUIDColumn});
             this.tableMacro.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -6514,16 +6514,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Command_ActionList_Command", new global::System.Data.DataColumn[] {
-                        this.tableCommand.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAction_Command.Command_UIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("ActionList_ActionList_Command", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAction_Command.Action_UIDColumn});
             this.tableAction_Command.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("ActionList_ActionList_Command", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAction_Command.Action_UIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Command_ActionList_Command", new global::System.Data.DataColumn[] {
+                        this.tableCommand.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAction_Command.Command_UIDColumn});
             this.tableAction_Command.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -6549,6 +6549,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_VirtualDevice", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.OwnerColumn});
+            this.tableVirtualDevice.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_VirtualDevice", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.HWUIDColumn});
@@ -6556,13 +6563,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_VirtualDevice", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.OwnerColumn});
-            this.tableVirtualDevice.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("HardwareDevice_LogicalDevice", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.HardwareDeviceUIDColumn});
@@ -6570,6 +6570,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("CatalogueData_HardwareDevice", new global::System.Data.DataColumn[] {
+                        this.tableCatalogueData.GCPTypeColumn}, new global::System.Data.DataColumn[] {
+                        this.tableHardwareDevice.TypeColumn});
+            this.tableHardwareDevice.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("HardwareDevice_HardwareDevice", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.ParentDeviceUIDColumn});
@@ -6577,23 +6584,23 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("CatalogueData_HardwareDevice", new global::System.Data.DataColumn[] {
-                        this.tableCatalogueData.GCPTypeColumn}, new global::System.Data.DataColumn[] {
-                        this.tableHardwareDevice.TypeColumn});
-            this.tableHardwareDevice.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualPIR_VirtualHardwiredPIR", new global::System.Data.DataColumn[] {
+                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.UIDColumn});
+            this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredPIR", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.AlarmInputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.WalkTestOutputUIDColumn});
             this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.TamperInputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.SetOutputUIDColumn});
             this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -6605,54 +6612,47 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.SetOutputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.TamperInputUIDColumn});
             this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.WalkTestOutputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredPIR", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.AlarmInputUIDColumn});
             this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualPIR_VirtualHardwiredPIR", new global::System.Data.DataColumn[] {
-                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.UIDColumn});
-            this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDoor_VirtualHardwiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.UIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.LatchContactUIDColumn});
+                        this.tableVirtualHardwiredDoor.BoltContactUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.StateContactUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.OpenerRelayUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor6", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.EscapeRelayUIDColumn});
+                        this.tableVirtualHardwiredDoor.PrealarmRelayUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6661,34 +6661,41 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor6", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.PrealarmRelayUIDColumn});
+                        this.tableVirtualHardwiredDoor.EscapeRelayUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.OpenerRelayUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.StateContactUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.BoltContactUIDColumn});
+                        this.tableVirtualHardwiredDoor.LatchContactUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDoor_VirtualHardwiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.UIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualSounder", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualSounder.UIDColumn});
+            this.tableVirtualSounder.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalSounder_VirtualSounder", new global::System.Data.DataColumn[] {
                         this.tableLogicalSounder.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualSounder.LogicalSirenUIDColumn});
@@ -6696,10 +6703,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualSounder", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualEmail", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSounder.UIDColumn});
-            this.tableVirtualSounder.Constraints.Add(fkc);
+                        this.tableVirtualEmail.UIDColumn});
+            this.tableVirtualEmail.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6710,10 +6717,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualEmail", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualCamera", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualEmail.UIDColumn});
-            this.tableVirtualEmail.Constraints.Add(fkc);
+                        this.tableVirtualCamera.UIDColumn});
+            this.tableVirtualCamera.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6724,10 +6731,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualCamera", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualSMS", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCamera.UIDColumn});
-            this.tableVirtualCamera.Constraints.Add(fkc);
+                        this.tableVirtualSMS.UIDColumn});
+            this.tableVirtualSMS.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6738,10 +6745,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualSMS", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSMS.UIDColumn});
-            this.tableVirtualSMS.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalReader_VirtualReader", new global::System.Data.DataColumn[] {
+                        this.tableLogicalReader.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualReader.LogicalReaderUIDColumn});
+            this.tableVirtualReader.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6752,10 +6759,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalReader_VirtualReader", new global::System.Data.DataColumn[] {
-                        this.tableLogicalReader.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualReader.LogicalReaderUIDColumn});
-            this.tableVirtualReader.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalKeyboard_VirtualKeyboard", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKeyboard.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeyboard.LogicalKeyboardUIDColumn});
+            this.tableVirtualKeyboard.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6766,10 +6773,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalKeyboard_VirtualKeyboard", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKeyboard.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeyboard.LogicalKeyboardUIDColumn});
-            this.tableVirtualKeyboard.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalKeyboardReader_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeyboardReader.LogicalKeyboardReaderUIDColumn});
+            this.tableVirtualKeyboardReader.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6780,11 +6787,11 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalKeyboardReader_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeyboardReader.LogicalKeyboardReaderUIDColumn});
-            this.tableVirtualKeyboardReader.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualKeySwitch", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeySwitch.LogicalInputUIDColumn});
+            this.tableVirtualKeySwitch.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualKeySwitch", new global::System.Data.DataColumn[] {
@@ -6794,11 +6801,11 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualKeySwitch", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeySwitch.LogicalInputUIDColumn});
-            this.tableVirtualKeySwitch.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualRelay", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualRelay.UIDColumn});
+            this.tableVirtualRelay.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualRelay", new global::System.Data.DataColumn[] {
@@ -6808,19 +6815,12 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualRelay", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWindow", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualRelay.UIDColumn});
-            this.tableVirtualRelay.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWindow", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWindow.AlarmInputUIDColumn});
+                        this.tableVirtualWindow.UIDColumn});
             this.tableVirtualWindow.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWindow1", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6829,12 +6829,12 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWindow", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWindow.UIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWindow", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWindow.AlarmInputUIDColumn});
             this.tableVirtualWindow.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6857,6 +6857,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPeripheral_VirtualPeripheral", new global::System.Data.DataColumn[] {
+                        this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheral.LogicalPeripheralUIDColumn});
+            this.tableVirtualPeripheral.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualPeripheral", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualPeripheral.UIDColumn});
@@ -6864,10 +6871,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPeripheral_VirtualPeripheral", new global::System.Data.DataColumn[] {
-                        this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheral.LogicalPeripheralUIDColumn});
-            this.tableVirtualPeripheral.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalSmokeDetector_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
+                        this.tableLogicalSmokeDetector.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualSmokeDetector.LogicalSmokeDetectorUIDColumn});
+            this.tableVirtualSmokeDetector.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6878,10 +6885,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalSmokeDetector_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
-                        this.tableLogicalSmokeDetector.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSmokeDetector.LogicalSmokeDetectorUIDColumn});
-            this.tableVirtualSmokeDetector.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalTemperature_VirtualTemperature", new global::System.Data.DataColumn[] {
+                        this.tableLogicalTemperature.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualTemperature.LogicalTemperatureUIDColumn});
+            this.tableVirtualTemperature.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6892,13 +6899,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalTemperature_VirtualTemperature", new global::System.Data.DataColumn[] {
-                        this.tableLogicalTemperature.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualTemperature.LogicalTemperatureUIDColumn});
-            this.tableVirtualTemperature.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalKeyboard", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalKeyboard.UIDColumn});
@@ -6920,16 +6920,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_HardwareDevice_WirelessMaster", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_HardwareDevice_WirelessMaster1", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableWirelessMaster.DeviceUIDColumn});
+                        this.tableWirelessMaster.MasterUIDColumn});
             this.tableWirelessMaster.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_HardwareDevice_WirelessMaster1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_HardwareDevice_WirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableWirelessMaster.MasterUIDColumn});
+                        this.tableWirelessMaster.DeviceUIDColumn});
             this.tableWirelessMaster.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -6969,6 +6969,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_User_AccessPoint_User", new global::System.Data.DataColumn[] {
+                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint_User.UserUIDColumn});
+            this.tableAccessPoint_User.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPoint_AccessPoint_User", new global::System.Data.DataColumn[] {
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAccessPoint_User.AccessPointUIDColumn});
@@ -6976,23 +6983,23 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_User_AccessPoint_User", new global::System.Data.DataColumn[] {
-                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint_User.UserUIDColumn});
-            this.tableAccessPoint_User.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle2", new global::System.Data.DataColumn[] {
+                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableExternalSounderStyle.IntruderAlarmSounderTemplateUIDColumn});
+            this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle3", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.PanicAlarmSounderTemplateUIDColumn});
+                        this.tableExternalSounderStyle.TamperAlarmSounderTemplateUIDColumn});
             this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle4", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.FireAlarmSounderTemplateUIDColumn});
+                        this.tableExternalSounderStyle.TechnicalAlarmSounderTemplateUIDColumn});
             this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -7004,26 +7011,26 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle4", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.TechnicalAlarmSounderTemplateUIDColumn});
+                        this.tableExternalSounderStyle.FireAlarmSounderTemplateUIDColumn});
             this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle3", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle1", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.TamperAlarmSounderTemplateUIDColumn});
+                        this.tableExternalSounderStyle.PanicAlarmSounderTemplateUIDColumn});
             this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle2", new global::System.Data.DataColumn[] {
-                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.IntruderAlarmSounderTemplateUIDColumn});
-            this.tableExternalSounderStyle.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("Partition_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_SignalingGroup.PartitionUIDColumn});
+            this.tablePartition_SignalingGroup.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("SignalingGroup_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -7032,10 +7039,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Partition_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_SignalingGroup.PartitionUIDColumn});
-            this.tablePartition_SignalingGroup.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("SignalingGroup_SignalingGroup_Siren", new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup_Sounder.SignalingGroupUIDColumn});
+            this.tableSignalingGroup_Sounder.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7046,10 +7053,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("SignalingGroup_SignalingGroup_Siren", new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup_Sounder.SignalingGroupUIDColumn});
-            this.tableSignalingGroup_Sounder.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualFlasher_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
+                        this.tableVirtualFlasher.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup_Flasher.FlasherUIDColumn});
+            this.tableSignalingGroup_Flasher.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7060,16 +7067,9 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualFlasher_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
-                        this.tableVirtualFlasher.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup_Flasher.FlasherUIDColumn});
-            this.tableSignalingGroup_Flasher.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_APTurnstile", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAPTurnstile.LatchContactInputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_APTurnstile", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAPTurnstile.OpenerRelayOutputUIDColumn});
             this.tableAPTurnstile.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -7081,9 +7081,9 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_APTurnstile", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAPTurnstile.OpenerRelayOutputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_APTurnstile", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAPTurnstile.LatchContactInputUIDColumn});
             this.tableAPTurnstile.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -7396,16 +7396,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheralPartitionMemberFaultType.VirtualPeripheralUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheralPartitionMemberFaultType.PartitionMemberUIDColumn});
             this.tableVirtualPeripheralPartitionMemberFaultType.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheralPartitionMemberFaultType.PartitionMemberUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheralPartitionMemberFaultType.VirtualPeripheralUIDColumn});
             this.tableVirtualPeripheralPartitionMemberFaultType.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7438,16 +7438,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("AccessPoint_ScheduledItem_AccessPoint", new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_APGroup.AccessPointUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPointGroup_AccessPointGroup_AccessPoint", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_APGroup.ScheduledItemUIDColumn});
             this.tableScheduledItem_APGroup.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPointGroup_AccessPointGroup_AccessPoint", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_APGroup.ScheduledItemUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("AccessPoint_ScheduledItem_AccessPoint", new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_APGroup.AccessPointUIDColumn});
             this.tableScheduledItem_APGroup.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7466,6 +7466,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_RTZ_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
+                        this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUserGroup_TimeSchedule.UserGroupUIDColumn});
+            this.tableUserGroup_TimeSchedule.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_TimeSchedule_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
                         this.tableTimeSchedule.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUserGroup_TimeSchedule.TimeScheduleUIDColumn});
@@ -7473,10 +7480,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_RTZ_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
-                        this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUserGroup_TimeSchedule.UserGroupUIDColumn});
-            this.tableUserGroup_TimeSchedule.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("User_User_UserGroup", new global::System.Data.DataColumn[] {
+                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUser_UserGroup.UserUIDColumn});
+            this.tableUser_UserGroup.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7487,10 +7494,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("User_User_UserGroup", new global::System.Data.DataColumn[] {
-                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUser_UserGroup.UserUIDColumn});
-            this.tableUser_UserGroup.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualFlasher", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualFlasher.LogicalOutputUIDColumn});
+            this.tableVirtualFlasher.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7501,11 +7508,11 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualFlasher", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualFlasher.LogicalOutputUIDColumn});
-            this.tableVirtualFlasher.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalDSAlarmReporting_VirtualDSDevice", new global::System.Data.DataColumn[] {
+                        this.tableLogicalDSAlarmReporting.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDSDevice.LogicalDSAlarmReportingUIDColumn});
+            this.tableVirtualDSDevice.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualDSDevice", new global::System.Data.DataColumn[] {
@@ -7515,13 +7522,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalDSAlarmReporting_VirtualDSDevice", new global::System.Data.DataColumn[] {
-                        this.tableLogicalDSAlarmReporting.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDSDevice.LogicalDSAlarmReportingUIDColumn});
-            this.tableVirtualDSDevice.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalDSAlarmReporting", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDSAlarmReporting.UIDColumn});
@@ -7529,6 +7529,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_AlarmDevice", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice.PartitionUIDColumn});
+            this.tableAlarmDevice.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDSDevice_AlarmDevice", new global::System.Data.DataColumn[] {
                         this.tableVirtualDSDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice.VirtualDSDeviceUIDColumn});
@@ -7536,10 +7543,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_AlarmDevice", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice.PartitionUIDColumn});
-            this.tableAlarmDevice.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_AlarmDevice_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice_FaultPartition.AlarmDeviceUIDColumn});
+            this.tableAlarmDevice_FaultPartition.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7550,13 +7557,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_AlarmDevice_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice_FaultPartition.AlarmDeviceUIDColumn});
-            this.tableAlarmDevice_FaultPartition.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_AlarmDevice_Channel", new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableChannel.AlarmDeviceUIDColumn});
@@ -7606,6 +7606,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalWirelessMaster_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
+                        this.tableLogicalWirelessMaster.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessMaster.LogicalWirelessMasterUIDColumn});
+            this.tableVirtualWirelessMaster.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWirelessMaster.UIDColumn});
@@ -7613,10 +7620,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalWirelessMaster_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
-                        this.tableLogicalWirelessMaster.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessMaster.LogicalWirelessMasterUIDColumn});
-            this.tableVirtualWirelessMaster.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalWirelessPeripheral_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
+                        this.tableLogicalWirelessPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessPeripheral.LogicalWirelessPeripheralUIDColumn});
+            this.tableVirtualWirelessPeripheral.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7627,13 +7634,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalWirelessPeripheral_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
-                        this.tableLogicalWirelessPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessPeripheral.LogicalWirelessPeripheralUIDColumn});
-            this.tableVirtualWirelessPeripheral.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalCarbonMonoxide", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalCarbonMonoxide.UIDColumn});
@@ -7641,16 +7641,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCarbonMonoxide.UIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalCarbonMonoxide_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
+                        this.tableLogicalCarbonMonoxide.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualCarbonMonoxide.LogicalCarbonMonoxideUIDColumn});
             this.tableVirtualCarbonMonoxide.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalCarbonMonoxide_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
-                        this.tableLogicalCarbonMonoxide.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCarbonMonoxide.LogicalCarbonMonoxideUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualCarbonMonoxide.UIDColumn});
             this.tableVirtualCarbonMonoxide.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7697,6 +7697,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalSmartUI_UIProxyTouchCenter", new global::System.Data.DataColumn[] {
+                        this.tableLogicalSmartUI.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUITouchCenter.LogicalSmartUI_UIDColumn});
+            this.tableUITouchCenter.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("UIProxy_UITouchCenter", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter.UIDColumn});
@@ -7704,13 +7711,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalSmartUI_UIProxyTouchCenter", new global::System.Data.DataColumn[] {
-                        this.tableLogicalSmartUI.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUITouchCenter.LogicalSmartUI_UIDColumn});
-            this.tableUITouchCenter.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_UIProxy_Partition", new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter_Partition.UIProxyUIDColumn});
@@ -7718,16 +7718,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_PartitionDependency", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_PartitionDependency1", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartitionDependency.ParentPartitionUIDColumn});
+                        this.tablePartitionDependency.ChildPartitionUIDColumn});
             this.tablePartitionDependency.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_PartitionDependency1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_PartitionDependency", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartitionDependency.ChildPartitionUIDColumn});
+                        this.tablePartitionDependency.ParentPartitionUIDColumn});
             this.tablePartitionDependency.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7739,16 +7739,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualSounder_Partition_LocalSounder", new global::System.Data.DataColumn[] {
-                        this.tableVirtualSounder.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_LocalSounder.LocalSounderUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Partition_Partition_LocalSounder", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_LocalSounder.PartitionUIDColumn});
             this.tablePartition_LocalSounder.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Partition_Partition_LocalSounder", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_LocalSounder.PartitionUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualSounder_Partition_LocalSounder", new global::System.Data.DataColumn[] {
+                        this.tableVirtualSounder.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_LocalSounder.LocalSounderUIDColumn});
             this.tablePartition_LocalSounder.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7760,13 +7760,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn});
-            this.tableVirtualDoor.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("DetectorGroup_VirtualDoor", new global::System.Data.DataColumn[] {
                         this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDoor.SecondaryOwnerColumn});
@@ -7774,10 +7767,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Door", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Door.ScheduledItemUIDColumn});
-            this.tableScheduledItem_Door.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn});
+            this.tableVirtualDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7788,6 +7781,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Door", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Door.ScheduledItemUIDColumn});
+            this.tableScheduledItem_Door.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("HardwareDevice_HWBus2ViewguardDual", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWBus2ViewGuardDual.UIDColumn});
@@ -7802,6 +7802,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPoint_ScheduledItem_AP", new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_AP.AccessPointUIDColumn});
+            this.tableScheduledItem_AP.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_AP", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_AP.ScheduledItemUIDColumn});
@@ -7809,10 +7816,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPoint_ScheduledItem_AP", new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_AP.AccessPointUIDColumn});
-            this.tableScheduledItem_AP.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDevice_VirtualKey", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKey.UIDColumn});
+            this.tableVirtualKey.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7823,13 +7830,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDevice_VirtualKey", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKey.UIDColumn});
-            this.tableVirtualKey.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDevice_LogicalKey", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalKey.UIDColumn});
@@ -7837,6 +7837,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalLed_VirtualLed", new global::System.Data.DataColumn[] {
+                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualLed.LogicalLedUIDColumn});
+            this.tableVirtualLed.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDevice_VirtualLed", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualLed.UIDColumn});
@@ -7844,13 +7851,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalLed_VirtualLed", new global::System.Data.DataColumn[] {
-                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualLed.LogicalLedUIDColumn});
-            this.tableVirtualLed.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDevice_LogicalLed", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalLed.UIDColumn});
@@ -7858,16 +7858,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPeripheral_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalPeripheralUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalKeyboardReader_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalKeyboardReaderUIDColumn});
             this.tableUIKeypad.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDisplay_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalDisplay.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalDisplayUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_Keypad_UIProxy_Keypad", new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.OwnerKeypadUIDColumn});
             this.tableUIKeypad.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -7879,41 +7879,34 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_Keypad_UIProxy_Keypad", new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.OwnerKeypadUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDisplay_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalDisplay.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalDisplayUIDColumn});
             this.tableUIKeypad.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalKeyboardReader_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalKeyboardReaderUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPeripheral_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalPeripheralUIDColumn});
             this.tableUIKeypad.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Signal_UIKeypadItem2", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.GreenLed_SignalUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalKey_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.LogicalKeyUIDColumn});
             this.tableUIKeypadItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Signal_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.RedLed_SignalUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalLed_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.LogicalLedUIDColumn});
             this.tableUIKeypadItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Signal_UIKeypadItem1", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.YellowLed_SignalUIDColumn});
-            this.tableUIKeypadItem.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("UIKeypad_UIKeypadItem", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUIKeypadItem.UIKeypadUIDColumn});
@@ -7921,20 +7914,27 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalLed_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.LogicalLedUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Signal_UIKeypadItem1", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.YellowLed_SignalUIDColumn});
             this.tableUIKeypadItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalKey_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.LogicalKeyUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Signal_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.RedLed_SignalUIDColumn});
             this.tableUIKeypadItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Signal_UIKeypadItem2", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.GreenLed_SignalUIDColumn});
+            this.tableUIKeypadItem.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDevice_LogicalDisplay", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDisplay.UIDColumn});
@@ -7942,16 +7942,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
-                        this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_UIProxy.UIProxyUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_UIProxy.ScheduledItemUIDColumn});
             this.tableScheduledItem_UIProxy.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_UIProxy.ScheduledItemUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
+                        this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_UIProxy.UIProxyUIDColumn});
             this.tableScheduledItem_UIProxy.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7970,6 +7970,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Partition.ScheduledItemUIDColumn});
+            this.tableScheduledItem_Partition.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_Partition.PartitionUIDColumn});
@@ -7977,10 +7984,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("ScheduledItem_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Partition.ScheduledItemUIDColumn});
-            this.tableScheduledItem_Partition.Constraints.Add(fkc);
+                        this.tableUserGroup_ScheduledItem.ScheduledItemUIDColumn});
+            this.tableUserGroup_ScheduledItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7991,11 +7998,11 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("ScheduledItem_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUserGroup_ScheduledItem.ScheduledItemUIDColumn});
-            this.tableUserGroup_ScheduledItem.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
+                        this.tableLogicalWirelessPanicButton.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessPanicButton.LogicalRFPanicButtonUIDColumn});
+            this.tableVirtualWirelessPanicButton.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDevice_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
@@ -8005,13 +8012,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
-                        this.tableLogicalWirelessPanicButton.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessPanicButton.LogicalRFPanicButtonUIDColumn});
-            this.tableVirtualWirelessPanicButton.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalWirelessPanicButton", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessPanicButton.UIDColumn});
@@ -8138,56 +8138,56 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Macro", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Macro.ScheduledItemUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Macro_ScheduledItem_Macro", new global::System.Data.DataColumn[] {
+                        this.tableMacro.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Macro.MacroUIDColumn});
             this.tableScheduledItem_Macro.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Macro_ScheduledItem_Macro", new global::System.Data.DataColumn[] {
-                        this.tableMacro.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Macro.MacroUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Macro", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Macro.ScheduledItemUIDColumn});
             this.tableScheduledItem_Macro.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            this.relationPartitionMember_DetectorGroup = new global::System.Data.DataRelation("PartitionMember_DetectorGroup", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableDetectorGroup.UIDColumn}, false);
+            this.Relations.Add(this.relationPartitionMember_DetectorGroup);
             this.relationFK_SounderTemplate_DetectorGroup = new global::System.Data.DataRelation("FK_SounderTemplate_DetectorGroup", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableDetectorGroup.SounderTemplateUIDColumn}, false);
             this.Relations.Add(this.relationFK_SounderTemplate_DetectorGroup);
-            this.relationPartitionMember_DetectorGroup = new global::System.Data.DataRelation("PartitionMember_DetectorGroup", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableDetectorGroup.UIDColumn}, false);
-            this.Relations.Add(this.relationPartitionMember_DetectorGroup);
+            this.relationVirtualPIR_VirtualBusPIR = new global::System.Data.DataRelation("VirtualPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
+                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualBusPIR.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualPIR_VirtualBusPIR);
             this.relationLogicalPIR_VirtualBusPIR = new global::System.Data.DataRelation("LogicalPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
                         this.tableLogicalPIR.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualBusPIR.LogicalPIRUIDColumn}, false);
             this.Relations.Add(this.relationLogicalPIR_VirtualBusPIR);
-            this.relationVirtualPIR_VirtualBusPIR = new global::System.Data.DataRelation("VirtualPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
-                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualBusPIR.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualPIR_VirtualBusPIR);
+            this.relationVirtualDevice_VirtualInput = new global::System.Data.DataRelation("VirtualDevice_VirtualInput", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualInput.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualInput);
             this.relationLogicalInput_VirtualInput = new global::System.Data.DataRelation("LogicalInput_VirtualInput", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualInput.LogicalInputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalInput_VirtualInput);
-            this.relationVirtualDevice_VirtualInput = new global::System.Data.DataRelation("VirtualDevice_VirtualInput", new global::System.Data.DataColumn[] {
+            this.relationFK_Signal_VirtualOutput = new global::System.Data.DataRelation("FK_Signal_VirtualOutput", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualOutput.SignalUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Signal_VirtualOutput);
+            this.relationVirtualDevice_VirtualOutput = new global::System.Data.DataRelation("VirtualDevice_VirtualOutput", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualInput.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualInput);
+                        this.tableVirtualOutput.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualOutput);
             this.relationLogicalOutput_VirtualOutput = new global::System.Data.DataRelation("LogicalOutput_VirtualOutput", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualOutput.LogicalOutputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalOutput_VirtualOutput);
-            this.relationVirtualDevice_VirtualOutput = new global::System.Data.DataRelation("VirtualDevice_VirtualOutput", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualOutput.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualOutput);
-            this.relationFK_Signal_VirtualOutput = new global::System.Data.DataRelation("FK_Signal_VirtualOutput", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualOutput.SignalUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Signal_VirtualOutput);
             this.relationVirtualDevice_VirtualUserInterface = new global::System.Data.DataRelation("VirtualDevice_VirtualUserInterface", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualUserInterface.UIDColumn}, false);
@@ -8196,26 +8196,26 @@
                         this.tableLogicalAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAccessPoint.LogicalAccessPointUIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalAccessPoint_AccessPoint);
+            this.relationVirtualDoor_VirtualBusDoor = new global::System.Data.DataRelation("VirtualDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualBusDoor.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDoor_VirtualBusDoor);
             this.relationLogicalDoor_VirtualBusDoor = new global::System.Data.DataRelation("LogicalDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
                         this.tableLogicalDoor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualBusDoor.LogicalDoorUIDColumn}, false);
             this.Relations.Add(this.relationLogicalDoor_VirtualBusDoor);
-            this.relationVirtualDoor_VirtualBusDoor = new global::System.Data.DataRelation("VirtualDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualBusDoor.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDoor_VirtualBusDoor);
+            this.relationActionOn_Macro = new global::System.Data.DataRelation("ActionOn_Macro", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableMacro.ActionOnUIDColumn}, false);
+            this.Relations.Add(this.relationActionOn_Macro);
+            this.relationActionOff_Macro = new global::System.Data.DataRelation("ActionOff_Macro", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableMacro.ActionOffUIDColumn}, false);
+            this.Relations.Add(this.relationActionOff_Macro);
             this.relationCondition_Macro = new global::System.Data.DataRelation("Condition_Macro", new global::System.Data.DataColumn[] {
                         this.tableCondition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableMacro.ConditionUIDColumn}, false);
             this.Relations.Add(this.relationCondition_Macro);
-            this.relationActionOff_Macro = new global::System.Data.DataRelation("ActionOff_Macro", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableMacro.ActionOffUIDColumn}, false);
-            this.Relations.Add(this.relationActionOff_Macro);
-            this.relationActionOn_Macro = new global::System.Data.DataRelation("ActionOn_Macro", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableMacro.ActionOnUIDColumn}, false);
-            this.Relations.Add(this.relationActionOn_Macro);
             this.relationLogicalDevice_LogicalPIR = new global::System.Data.DataRelation("LogicalDevice_LogicalPIR", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalPIR.UIDColumn}, false);
@@ -8264,14 +8264,14 @@
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableFailAttempt.AccessPoint_UIDColumn}, false);
             this.Relations.Add(this.relationAccessPoint_FaultTries);
+            this.relationActionList_ActionList_Command = new global::System.Data.DataRelation("ActionList_ActionList_Command", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAction_Command.Action_UIDColumn}, false);
+            this.Relations.Add(this.relationActionList_ActionList_Command);
             this.relationCommand_ActionList_Command = new global::System.Data.DataRelation("Command_ActionList_Command", new global::System.Data.DataColumn[] {
                         this.tableCommand.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAction_Command.Command_UIDColumn}, false);
             this.Relations.Add(this.relationCommand_ActionList_Command);
-            this.relationActionList_ActionList_Command = new global::System.Data.DataRelation("ActionList_ActionList_Command", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAction_Command.Action_UIDColumn}, false);
-            this.Relations.Add(this.relationActionList_ActionList_Command);
             this.relationObject_Building = new global::System.Data.DataRelation("Object_Building", new global::System.Data.DataColumn[] {
                         this.tableObject.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableBuilding.Object_UIDColumn}, false);
@@ -8284,170 +8284,170 @@
                         this.tableFloor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableRoom.Floor_UIDColumn}, false);
             this.Relations.Add(this.relationFloor_Room);
+            this.relationPartitionMember_VirtualDevice = new global::System.Data.DataRelation("PartitionMember_VirtualDevice", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.OwnerColumn}, false);
+            this.Relations.Add(this.relationPartitionMember_VirtualDevice);
             this.relationLogicalDevice_VirtualDevice = new global::System.Data.DataRelation("LogicalDevice_VirtualDevice", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.HWUIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_VirtualDevice);
-            this.relationPartitionMember_VirtualDevice = new global::System.Data.DataRelation("PartitionMember_VirtualDevice", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.OwnerColumn}, false);
-            this.Relations.Add(this.relationPartitionMember_VirtualDevice);
             this.relationHardwareDevice_LogicalDevice = new global::System.Data.DataRelation("HardwareDevice_LogicalDevice", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.HardwareDeviceUIDColumn}, false);
             this.Relations.Add(this.relationHardwareDevice_LogicalDevice);
+            this.relationCatalogueData_HardwareDevice = new global::System.Data.DataRelation("CatalogueData_HardwareDevice", new global::System.Data.DataColumn[] {
+                        this.tableCatalogueData.GCPTypeColumn}, new global::System.Data.DataColumn[] {
+                        this.tableHardwareDevice.TypeColumn}, false);
+            this.Relations.Add(this.relationCatalogueData_HardwareDevice);
             this.relationHardwareDevice_HardwareDevice = new global::System.Data.DataRelation("HardwareDevice_HardwareDevice", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.ParentDeviceUIDColumn}, false);
             this.Relations.Add(this.relationHardwareDevice_HardwareDevice);
-            this.relationCatalogueData_HardwareDevice = new global::System.Data.DataRelation("CatalogueData_HardwareDevice", new global::System.Data.DataColumn[] {
-                        this.tableCatalogueData.GCPTypeColumn}, new global::System.Data.DataColumn[] {
-                        this.tableHardwareDevice.TypeColumn}, false);
-            this.Relations.Add(this.relationCatalogueData_HardwareDevice);
-            this.relationLogicalInput_VirtualWiredPIR = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR", new global::System.Data.DataColumn[] {
+            this.relationVirtualPIR_VirtualHardwiredPIR = new global::System.Data.DataRelation("VirtualPIR_VirtualHardwiredPIR", new global::System.Data.DataColumn[] {
+                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualPIR_VirtualHardwiredPIR);
+            this.relationLogicalOutput_VirtualWiredPIR2 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.WalkTestOutputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredPIR2);
+            this.relationLogicalOutput_VirtualWiredPIR1 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.SetOutputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredPIR1);
+            this.relationLogicalInput_VirtualWiredPIR2 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.AlarmInputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR);
+                        this.tableVirtualHardwiredPIR.FaultInputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR2);
             this.relationLogicalInput_VirtualWiredPIR1 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredPIR.TamperInputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR1);
-            this.relationLogicalInput_VirtualWiredPIR2 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
+            this.relationLogicalInput_VirtualWiredPIR = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.FaultInputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR2);
-            this.relationLogicalOutput_VirtualWiredPIR1 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.SetOutputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredPIR1);
-            this.relationLogicalOutput_VirtualWiredPIR2 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.WalkTestOutputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredPIR2);
-            this.relationVirtualPIR_VirtualHardwiredPIR = new global::System.Data.DataRelation("VirtualPIR_VirtualHardwiredPIR", new global::System.Data.DataColumn[] {
-                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualPIR_VirtualHardwiredPIR);
-            this.relationVirtualDevice_VirtualWiredDoor = new global::System.Data.DataRelation("VirtualDevice_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.AlarmInputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR);
+            this.relationVirtualDoor_VirtualHardwiredDoor = new global::System.Data.DataRelation("VirtualDoor_VirtualHardwiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualWiredDoor);
-            this.relationLogicalInput_VirtualWiredDoor1 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+            this.Relations.Add(this.relationVirtualDoor_VirtualHardwiredDoor);
+            this.relationLogicalInput_VirtualWiredDoor2 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.LatchContactUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor1);
-            this.relationLogicalInput_VirtualWiredDoor = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.StateContactUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor);
-            this.relationLogicalOutput_VirtualWiredDoor6 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor6", new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.BoltContactUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor2);
+            this.relationLogicalOutput_VirtualWiredDoor = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.EscapeRelayUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor6);
+                        this.tableVirtualHardwiredDoor.OpenerRelayUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor);
+            this.relationLogicalOutput_VirtualWiredDoor1 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.PrealarmRelayUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor1);
             this.relationLogicalOutput_VirtualWiredDoor2 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.LockRelayUIDColumn}, false);
             this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor2);
-            this.relationLogicalOutput_VirtualWiredDoor1 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+            this.relationLogicalOutput_VirtualWiredDoor6 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor6", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.PrealarmRelayUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor1);
-            this.relationLogicalOutput_VirtualWiredDoor = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.OpenerRelayUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor);
-            this.relationLogicalInput_VirtualWiredDoor2 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.EscapeRelayUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor6);
+            this.relationLogicalInput_VirtualWiredDoor = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.BoltContactUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor2);
-            this.relationVirtualDoor_VirtualHardwiredDoor = new global::System.Data.DataRelation("VirtualDoor_VirtualHardwiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.StateContactUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor);
+            this.relationLogicalInput_VirtualWiredDoor1 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.LatchContactUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor1);
+            this.relationVirtualDevice_VirtualWiredDoor = new global::System.Data.DataRelation("VirtualDevice_VirtualWiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDoor_VirtualHardwiredDoor);
+            this.Relations.Add(this.relationVirtualDevice_VirtualWiredDoor);
+            this.relationVirtualDevice_VirtualSounder = new global::System.Data.DataRelation("VirtualDevice_VirtualSounder", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualSounder.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualSounder);
             this.relationLogicalSounder_VirtualSounder = new global::System.Data.DataRelation("LogicalSounder_VirtualSounder", new global::System.Data.DataColumn[] {
                         this.tableLogicalSounder.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualSounder.LogicalSirenUIDColumn}, false);
             this.Relations.Add(this.relationLogicalSounder_VirtualSounder);
-            this.relationVirtualDevice_VirtualSounder = new global::System.Data.DataRelation("VirtualDevice_VirtualSounder", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualEmail = new global::System.Data.DataRelation("VirtualDevice_VirtualEmail", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSounder.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualSounder);
+                        this.tableVirtualEmail.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualEmail);
             this.relationLogicalEmail_VirtualEmail = new global::System.Data.DataRelation("LogicalEmail_VirtualEmail", new global::System.Data.DataColumn[] {
                         this.tableLogicalEmail.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualEmail.LogicalEmailUIDColumn}, false);
             this.Relations.Add(this.relationLogicalEmail_VirtualEmail);
-            this.relationVirtualDevice_VirtualEmail = new global::System.Data.DataRelation("VirtualDevice_VirtualEmail", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualCamera = new global::System.Data.DataRelation("VirtualDevice_VirtualCamera", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualEmail.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualEmail);
+                        this.tableVirtualCamera.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualCamera);
             this.relationLogicalCamera_VirtualCamera = new global::System.Data.DataRelation("LogicalCamera_VirtualCamera", new global::System.Data.DataColumn[] {
                         this.tableLogicalCamera.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualCamera.LogicalCameraUIDColumn}, false);
             this.Relations.Add(this.relationLogicalCamera_VirtualCamera);
-            this.relationVirtualDevice_VirtualCamera = new global::System.Data.DataRelation("VirtualDevice_VirtualCamera", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualSMS = new global::System.Data.DataRelation("VirtualDevice_VirtualSMS", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCamera.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualCamera);
+                        this.tableVirtualSMS.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualSMS);
             this.relationLogicalSMS_VirtualSMS = new global::System.Data.DataRelation("LogicalSMS_VirtualSMS", new global::System.Data.DataColumn[] {
                         this.tableLogicalSMS.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualSMS.LogicalSMSUIDColumn}, false);
             this.Relations.Add(this.relationLogicalSMS_VirtualSMS);
-            this.relationVirtualDevice_VirtualSMS = new global::System.Data.DataRelation("VirtualDevice_VirtualSMS", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSMS.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualSMS);
-            this.relationVirtualUserInterface_VirtualReader = new global::System.Data.DataRelation("VirtualUserInterface_VirtualReader", new global::System.Data.DataColumn[] {
-                        this.tableVirtualUserInterface.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualReader.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualUserInterface_VirtualReader);
             this.relationLogicalReader_VirtualReader = new global::System.Data.DataRelation("LogicalReader_VirtualReader", new global::System.Data.DataColumn[] {
                         this.tableLogicalReader.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualReader.LogicalReaderUIDColumn}, false);
             this.Relations.Add(this.relationLogicalReader_VirtualReader);
-            this.relationVirtualUserInterface_VirtualKeyboard = new global::System.Data.DataRelation("VirtualUserInterface_VirtualKeyboard", new global::System.Data.DataColumn[] {
+            this.relationVirtualUserInterface_VirtualReader = new global::System.Data.DataRelation("VirtualUserInterface_VirtualReader", new global::System.Data.DataColumn[] {
                         this.tableVirtualUserInterface.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeyboard.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualUserInterface_VirtualKeyboard);
+                        this.tableVirtualReader.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualUserInterface_VirtualReader);
             this.relationLogicalKeyboard_VirtualKeyboard = new global::System.Data.DataRelation("LogicalKeyboard_VirtualKeyboard", new global::System.Data.DataColumn[] {
                         this.tableLogicalKeyboard.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualKeyboard.LogicalKeyboardUIDColumn}, false);
             this.Relations.Add(this.relationLogicalKeyboard_VirtualKeyboard);
-            this.relationVirtualUserInterface_VirtualKeyboardReader = new global::System.Data.DataRelation("VirtualUserInterface_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
+            this.relationVirtualUserInterface_VirtualKeyboard = new global::System.Data.DataRelation("VirtualUserInterface_VirtualKeyboard", new global::System.Data.DataColumn[] {
                         this.tableVirtualUserInterface.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeyboardReader.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualUserInterface_VirtualKeyboardReader);
+                        this.tableVirtualKeyboard.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualUserInterface_VirtualKeyboard);
             this.relationLogicalKeyboardReader_VirtualKeyboardReader = new global::System.Data.DataRelation("LogicalKeyboardReader_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
                         this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualKeyboardReader.LogicalKeyboardReaderUIDColumn}, false);
             this.Relations.Add(this.relationLogicalKeyboardReader_VirtualKeyboardReader);
+            this.relationVirtualUserInterface_VirtualKeyboardReader = new global::System.Data.DataRelation("VirtualUserInterface_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
+                        this.tableVirtualUserInterface.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeyboardReader.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualUserInterface_VirtualKeyboardReader);
+            this.relationLogicalInput_VirtualKeySwitch = new global::System.Data.DataRelation("LogicalInput_VirtualKeySwitch", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeySwitch.LogicalInputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualKeySwitch);
             this.relationVirtualDevice_VirtualKeySwitch = new global::System.Data.DataRelation("VirtualDevice_VirtualKeySwitch", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualKeySwitch.UIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_VirtualKeySwitch);
-            this.relationLogicalInput_VirtualKeySwitch = new global::System.Data.DataRelation("LogicalInput_VirtualKeySwitch", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeySwitch.LogicalInputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualKeySwitch);
+            this.relationVirtualDevice_VirtualRelay = new global::System.Data.DataRelation("VirtualDevice_VirtualRelay", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualRelay.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualRelay);
             this.relationLogicalOutput_VirtualRelay = new global::System.Data.DataRelation("LogicalOutput_VirtualRelay", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualRelay.LogicalOutputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalOutput_VirtualRelay);
-            this.relationVirtualDevice_VirtualRelay = new global::System.Data.DataRelation("VirtualDevice_VirtualRelay", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualWindow = new global::System.Data.DataRelation("VirtualDevice_VirtualWindow", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualRelay.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualRelay);
+                        this.tableVirtualWindow.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualWindow);
+            this.relationLogicalInput_VirtualWindow1 = new global::System.Data.DataRelation("LogicalInput_VirtualWindow1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWindow.TamperInputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWindow1);
             this.relationLogicalInput_VirtualWindow = new global::System.Data.DataRelation("LogicalInput_VirtualWindow", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWindow.AlarmInputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalInput_VirtualWindow);
-            this.relationLogicalInput_VirtualWindow1 = new global::System.Data.DataRelation("LogicalInput_VirtualWindow1", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWindow.TamperInputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWindow1);
-            this.relationVirtualDevice_VirtualWindow = new global::System.Data.DataRelation("VirtualDevice_VirtualWindow", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWindow.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualWindow);
             this.relationLogicalDevice_LogicalPeripheral = new global::System.Data.DataRelation("LogicalDevice_LogicalPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalPeripheral.UIDColumn}, false);
@@ -8460,30 +8460,30 @@
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalTemperature.UIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_LogicalTemperature);
-            this.relationVirtualDevice_VirtualPeripheral = new global::System.Data.DataRelation("VirtualDevice_VirtualPeripheral", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheral.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualPeripheral);
             this.relationLogicalPeripheral_VirtualPeripheral = new global::System.Data.DataRelation("LogicalPeripheral_VirtualPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualPeripheral.LogicalPeripheralUIDColumn}, false);
             this.Relations.Add(this.relationLogicalPeripheral_VirtualPeripheral);
-            this.relationVirtualDevice_VirtualSmokeDetector = new global::System.Data.DataRelation("VirtualDevice_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualPeripheral = new global::System.Data.DataRelation("VirtualDevice_VirtualPeripheral", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSmokeDetector.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualSmokeDetector);
+                        this.tableVirtualPeripheral.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualPeripheral);
             this.relationLogicalSmokeDetector_VirtualSmokeDetector = new global::System.Data.DataRelation("LogicalSmokeDetector_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
                         this.tableLogicalSmokeDetector.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualSmokeDetector.LogicalSmokeDetectorUIDColumn}, false);
             this.Relations.Add(this.relationLogicalSmokeDetector_VirtualSmokeDetector);
-            this.relationVirtualDevice_VirtualTemperature = new global::System.Data.DataRelation("VirtualDevice_VirtualTemperature", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualSmokeDetector = new global::System.Data.DataRelation("VirtualDevice_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualTemperature.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualTemperature);
+                        this.tableVirtualSmokeDetector.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualSmokeDetector);
             this.relationLogicalTemperature_VirtualTemperature = new global::System.Data.DataRelation("LogicalTemperature_VirtualTemperature", new global::System.Data.DataColumn[] {
                         this.tableLogicalTemperature.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualTemperature.LogicalTemperatureUIDColumn}, false);
             this.Relations.Add(this.relationLogicalTemperature_VirtualTemperature);
+            this.relationVirtualDevice_VirtualTemperature = new global::System.Data.DataRelation("VirtualDevice_VirtualTemperature", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualTemperature.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualTemperature);
             this.relationLogicalDevice_LogicalKeyboard = new global::System.Data.DataRelation("LogicalDevice_LogicalKeyboard", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalKeyboard.UIDColumn}, false);
@@ -8496,14 +8496,14 @@
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalReader.UIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_LogicalReader);
+            this.relationFK_HardwareDevice_WirelessMaster1 = new global::System.Data.DataRelation("FK_HardwareDevice_WirelessMaster1", new global::System.Data.DataColumn[] {
+                        this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableWirelessMaster.MasterUIDColumn}, false);
+            this.Relations.Add(this.relationFK_HardwareDevice_WirelessMaster1);
             this.relationFK_HardwareDevice_WirelessMaster = new global::System.Data.DataRelation("FK_HardwareDevice_WirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableWirelessMaster.DeviceUIDColumn}, false);
             this.Relations.Add(this.relationFK_HardwareDevice_WirelessMaster);
-            this.relationFK_HardwareDevice_WirelessMaster1 = new global::System.Data.DataRelation("FK_HardwareDevice_WirelessMaster1", new global::System.Data.DataColumn[] {
-                        this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableWirelessMaster.MasterUIDColumn}, false);
-            this.Relations.Add(this.relationFK_HardwareDevice_WirelessMaster1);
             this.relationLogicalDevice_LogicalInstallServices = new global::System.Data.DataRelation("LogicalDevice_LogicalInstallServices", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalInstallService.UIDColumn}, false);
@@ -8524,74 +8524,74 @@
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAPMacro.AccessPointUIDColumn}, false);
             this.Relations.Add(this.relationAccessPoint_APMacro);
+            this.relationFK_User_AccessPoint_User = new global::System.Data.DataRelation("FK_User_AccessPoint_User", new global::System.Data.DataColumn[] {
+                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint_User.UserUIDColumn}, false);
+            this.Relations.Add(this.relationFK_User_AccessPoint_User);
             this.relationFK_AccessPoint_AccessPoint_User = new global::System.Data.DataRelation("FK_AccessPoint_AccessPoint_User", new global::System.Data.DataColumn[] {
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAccessPoint_User.AccessPointUIDColumn}, false);
             this.Relations.Add(this.relationFK_AccessPoint_AccessPoint_User);
-            this.relationFK_User_AccessPoint_User = new global::System.Data.DataRelation("FK_User_AccessPoint_User", new global::System.Data.DataColumn[] {
-                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint_User.UserUIDColumn}, false);
-            this.Relations.Add(this.relationFK_User_AccessPoint_User);
-            this.relationFK_SounderTemplate_ExternalSounderStyle1 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle1", new global::System.Data.DataColumn[] {
+            this.relationFK_SounderTemplate_ExternalSounderStyle2 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle2", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.PanicAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle1);
-            this.relationFK_SounderTemplate_ExternalSounderStyle = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle", new global::System.Data.DataColumn[] {
+                        this.tableExternalSounderStyle.IntruderAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle2);
+            this.relationFK_SounderTemplate_ExternalSounderStyle3 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle3", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.FireAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle);
+                        this.tableExternalSounderStyle.TamperAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle3);
+            this.relationFK_SounderTemplate_ExternalSounderStyle4 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle4", new global::System.Data.DataColumn[] {
+                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableExternalSounderStyle.TechnicalAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle4);
             this.relationPartition_ExternalSounderStyle = new global::System.Data.DataRelation("Partition_ExternalSounderStyle", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableExternalSounderStyle.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationPartition_ExternalSounderStyle);
-            this.relationFK_SounderTemplate_ExternalSounderStyle4 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle4", new global::System.Data.DataColumn[] {
+            this.relationFK_SounderTemplate_ExternalSounderStyle = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.TechnicalAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle4);
-            this.relationFK_SounderTemplate_ExternalSounderStyle3 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle3", new global::System.Data.DataColumn[] {
+                        this.tableExternalSounderStyle.FireAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle);
+            this.relationFK_SounderTemplate_ExternalSounderStyle1 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle1", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.TamperAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle3);
-            this.relationFK_SounderTemplate_ExternalSounderStyle2 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle2", new global::System.Data.DataColumn[] {
-                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.IntruderAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle2);
+                        this.tableExternalSounderStyle.PanicAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle1);
+            this.relationPartition_Partition_SignalingGroup = new global::System.Data.DataRelation("Partition_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_SignalingGroup.PartitionUIDColumn}, false);
+            this.Relations.Add(this.relationPartition_Partition_SignalingGroup);
             this.relationSignalingGroup_Partition_SignalingGroup = new global::System.Data.DataRelation("SignalingGroup_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePartition_SignalingGroup.SignalingGroupUIDColumn}, false);
             this.Relations.Add(this.relationSignalingGroup_Partition_SignalingGroup);
-            this.relationPartition_Partition_SignalingGroup = new global::System.Data.DataRelation("Partition_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_SignalingGroup.PartitionUIDColumn}, false);
-            this.Relations.Add(this.relationPartition_Partition_SignalingGroup);
+            this.relationSignalingGroup_SignalingGroup_Siren = new global::System.Data.DataRelation("SignalingGroup_SignalingGroup_Siren", new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup_Sounder.SignalingGroupUIDColumn}, false);
+            this.Relations.Add(this.relationSignalingGroup_SignalingGroup_Siren);
             this.relationVirtualDevice_SignalingGroup_Sounder = new global::System.Data.DataRelation("VirtualDevice_SignalingGroup_Sounder", new global::System.Data.DataColumn[] {
                         this.tableVirtualSounder.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup_Sounder.SounderUIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_SignalingGroup_Sounder);
-            this.relationSignalingGroup_SignalingGroup_Siren = new global::System.Data.DataRelation("SignalingGroup_SignalingGroup_Siren", new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup_Sounder.SignalingGroupUIDColumn}, false);
-            this.Relations.Add(this.relationSignalingGroup_SignalingGroup_Siren);
+            this.relationVirtualFlasher_SignalingGroup_Flasher = new global::System.Data.DataRelation("VirtualFlasher_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
+                        this.tableVirtualFlasher.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup_Flasher.FlasherUIDColumn}, false);
+            this.Relations.Add(this.relationVirtualFlasher_SignalingGroup_Flasher);
             this.relationSignalingGroup_SignalingGroup_Flasher = new global::System.Data.DataRelation("SignalingGroup_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup_Flasher.SignalingGroupUIDColumn}, false);
             this.Relations.Add(this.relationSignalingGroup_SignalingGroup_Flasher);
-            this.relationVirtualFlasher_SignalingGroup_Flasher = new global::System.Data.DataRelation("VirtualFlasher_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
-                        this.tableVirtualFlasher.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup_Flasher.FlasherUIDColumn}, false);
-            this.Relations.Add(this.relationVirtualFlasher_SignalingGroup_Flasher);
+            this.relationLogicalOutput_APTurnstile = new global::System.Data.DataRelation("LogicalOutput_APTurnstile", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAPTurnstile.OpenerRelayOutputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_APTurnstile);
+            this.relationAccessPoint_APTurnstile = new global::System.Data.DataRelation("AccessPoint_APTurnstile", new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAPTurnstile.AccessPointUIDColumn}, false);
+            this.Relations.Add(this.relationAccessPoint_APTurnstile);
             this.relationLogicalInput_APTurnstile = new global::System.Data.DataRelation("LogicalInput_APTurnstile", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAPTurnstile.LatchContactInputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalInput_APTurnstile);
-            this.relationAccessPoint_APTurnstile = new global::System.Data.DataRelation("AccessPoint_APTurnstile", new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAPTurnstile.AccessPointUIDColumn}, false);
-            this.Relations.Add(this.relationAccessPoint_APTurnstile);
-            this.relationLogicalOutput_APTurnstile = new global::System.Data.DataRelation("LogicalOutput_APTurnstile", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAPTurnstile.OpenerRelayOutputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_APTurnstile);
             this.relationHardwareDevice_HWIBusBusController = new global::System.Data.DataRelation("HardwareDevice_HWIBusBusController", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWIBusBusController.UIDColumn}, false);
@@ -8768,14 +8768,14 @@
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePartitionFaultType.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationPartition_PartitionFaultType);
+            this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType = new global::System.Data.DataRelation("PartitionMember_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheralPartitionMemberFaultType.PartitionMemberUIDColumn}, false);
+            this.Relations.Add(this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType);
             this.relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType = new global::System.Data.DataRelation("VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
                         this.tableVirtualPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualPeripheralPartitionMemberFaultType.VirtualPeripheralUIDColumn}, false);
             this.Relations.Add(this.relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType);
-            this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType = new global::System.Data.DataRelation("PartitionMember_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheralPartitionMemberFaultType.PartitionMemberUIDColumn}, false);
-            this.Relations.Add(this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType);
             this.relationLogicalDevice_LogicalWirelessPeripheral = new global::System.Data.DataRelation("LogicalDevice_LogicalWirelessPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessPeripheral.UIDColumn}, false);
@@ -8792,14 +8792,14 @@
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUnsetPreventionAlarmType.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationPartition_UnsetPreventionAlarmType);
+            this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint = new global::System.Data.DataRelation("FK_AccessPointGroup_AccessPointGroup_AccessPoint", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_APGroup.ScheduledItemUIDColumn}, false);
+            this.Relations.Add(this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint);
             this.relationAccessPoint_ScheduledItem_AccessPoint = new global::System.Data.DataRelation("AccessPoint_ScheduledItem_AccessPoint", new global::System.Data.DataColumn[] {
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_APGroup.AccessPointUIDColumn}, false);
             this.Relations.Add(this.relationAccessPoint_ScheduledItem_AccessPoint);
-            this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint = new global::System.Data.DataRelation("FK_AccessPointGroup_AccessPointGroup_AccessPoint", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_APGroup.ScheduledItemUIDColumn}, false);
-            this.Relations.Add(this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint);
             this.relationUserGroup_DatePeriod = new global::System.Data.DataRelation("UserGroup_DatePeriod", new global::System.Data.DataColumn[] {
                         this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableDatePeriod.UserGroupUIDColumn}, false);
@@ -8808,58 +8808,58 @@
                         this.tableTimeSchedule.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableTimePeriod.TimeScheduleUIDColumn}, false);
             this.Relations.Add(this.relationFK_TimeSchedule_TimePeriod);
+            this.relationFK_RTZ_UserGroup_TimeSchedule = new global::System.Data.DataRelation("FK_RTZ_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
+                        this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUserGroup_TimeSchedule.UserGroupUIDColumn}, false);
+            this.Relations.Add(this.relationFK_RTZ_UserGroup_TimeSchedule);
             this.relationFK_TimeSchedule_UserGroup_TimeSchedule = new global::System.Data.DataRelation("FK_TimeSchedule_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
                         this.tableTimeSchedule.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUserGroup_TimeSchedule.TimeScheduleUIDColumn}, false);
             this.Relations.Add(this.relationFK_TimeSchedule_UserGroup_TimeSchedule);
-            this.relationFK_RTZ_UserGroup_TimeSchedule = new global::System.Data.DataRelation("FK_RTZ_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
-                        this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUserGroup_TimeSchedule.UserGroupUIDColumn}, false);
-            this.Relations.Add(this.relationFK_RTZ_UserGroup_TimeSchedule);
+            this.relationUser_User_UserGroup = new global::System.Data.DataRelation("User_User_UserGroup", new global::System.Data.DataColumn[] {
+                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUser_UserGroup.UserUIDColumn}, false);
+            this.Relations.Add(this.relationUser_User_UserGroup);
             this.relationUserGroup_User_UserGroup = new global::System.Data.DataRelation("UserGroup_User_UserGroup", new global::System.Data.DataColumn[] {
                         this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUser_UserGroup.UserGroupUIDColumn}, false);
             this.Relations.Add(this.relationUserGroup_User_UserGroup);
-            this.relationUser_User_UserGroup = new global::System.Data.DataRelation("User_User_UserGroup", new global::System.Data.DataColumn[] {
-                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUser_UserGroup.UserUIDColumn}, false);
-            this.Relations.Add(this.relationUser_User_UserGroup);
-            this.relationVirtualDevice_VirtualFlasher = new global::System.Data.DataRelation("VirtualDevice_VirtualFlasher", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualFlasher.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualFlasher);
             this.relationLogicalOutput_VirtualFlasher = new global::System.Data.DataRelation("LogicalOutput_VirtualFlasher", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualFlasher.LogicalOutputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalOutput_VirtualFlasher);
-            this.relationVirtualDevice_VirtualDSDevice = new global::System.Data.DataRelation("VirtualDevice_VirtualDSDevice", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualFlasher = new global::System.Data.DataRelation("VirtualDevice_VirtualFlasher", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDSDevice.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualDSDevice);
+                        this.tableVirtualFlasher.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualFlasher);
             this.relationLogicalDSAlarmReporting_VirtualDSDevice = new global::System.Data.DataRelation("LogicalDSAlarmReporting_VirtualDSDevice", new global::System.Data.DataColumn[] {
                         this.tableLogicalDSAlarmReporting.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDSDevice.LogicalDSAlarmReportingUIDColumn}, false);
             this.Relations.Add(this.relationLogicalDSAlarmReporting_VirtualDSDevice);
+            this.relationVirtualDevice_VirtualDSDevice = new global::System.Data.DataRelation("VirtualDevice_VirtualDSDevice", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDSDevice.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualDSDevice);
             this.relationLogicalDevice_LogicalDSAlarmReporting = new global::System.Data.DataRelation("LogicalDevice_LogicalDSAlarmReporting", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDSAlarmReporting.UIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_LogicalDSAlarmReporting);
+            this.relationFK_Partition_AlarmDevice = new global::System.Data.DataRelation("FK_Partition_AlarmDevice", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice.PartitionUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Partition_AlarmDevice);
             this.relationFK_VirtualDSDevice_AlarmDevice = new global::System.Data.DataRelation("FK_VirtualDSDevice_AlarmDevice", new global::System.Data.DataColumn[] {
                         this.tableVirtualDSDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice.VirtualDSDeviceUIDColumn}, false);
             this.Relations.Add(this.relationFK_VirtualDSDevice_AlarmDevice);
-            this.relationFK_Partition_AlarmDevice = new global::System.Data.DataRelation("FK_Partition_AlarmDevice", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice.PartitionUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Partition_AlarmDevice);
+            this.relationFK_AlarmDevice_AlarmDevice_FaultPartition = new global::System.Data.DataRelation("FK_AlarmDevice_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice_FaultPartition.AlarmDeviceUIDColumn}, false);
+            this.Relations.Add(this.relationFK_AlarmDevice_AlarmDevice_FaultPartition);
             this.relationFK_Partition_AlarmDevice_FaultPartition = new global::System.Data.DataRelation("FK_Partition_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice_FaultPartition.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_AlarmDevice_FaultPartition);
-            this.relationFK_AlarmDevice_AlarmDevice_FaultPartition = new global::System.Data.DataRelation("FK_AlarmDevice_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice_FaultPartition.AlarmDeviceUIDColumn}, false);
-            this.Relations.Add(this.relationFK_AlarmDevice_AlarmDevice_FaultPartition);
             this.relationFK_AlarmDevice_Channel = new global::System.Data.DataRelation("FK_AlarmDevice_Channel", new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableChannel.AlarmDeviceUIDColumn}, false);
@@ -8888,34 +8888,34 @@
                         this.tableTrigger.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableTrigger_SingleEvent.UIDColumn}, false);
             this.Relations.Add(this.relationTrigger_Trigger_SingleEvent);
-            this.relationVirtualDevice_VirtualWirelessMaster = new global::System.Data.DataRelation("VirtualDevice_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessMaster.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualWirelessMaster);
             this.relationLogicalWirelessMaster_VirtualWirelessMaster = new global::System.Data.DataRelation("LogicalWirelessMaster_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessMaster.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWirelessMaster.LogicalWirelessMasterUIDColumn}, false);
             this.Relations.Add(this.relationLogicalWirelessMaster_VirtualWirelessMaster);
-            this.relationVirtualDevice_VirtualWirelessPeripheral = new global::System.Data.DataRelation("VirtualDevice_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualWirelessMaster = new global::System.Data.DataRelation("VirtualDevice_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessPeripheral.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualWirelessPeripheral);
+                        this.tableVirtualWirelessMaster.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualWirelessMaster);
             this.relationLogicalWirelessPeripheral_VirtualWirelessPeripheral = new global::System.Data.DataRelation("LogicalWirelessPeripheral_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWirelessPeripheral.LogicalWirelessPeripheralUIDColumn}, false);
             this.Relations.Add(this.relationLogicalWirelessPeripheral_VirtualWirelessPeripheral);
+            this.relationVirtualDevice_VirtualWirelessPeripheral = new global::System.Data.DataRelation("VirtualDevice_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessPeripheral.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualWirelessPeripheral);
             this.relationLogicalDevice_LogicalCarbonMonoxide = new global::System.Data.DataRelation("LogicalDevice_LogicalCarbonMonoxide", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalCarbonMonoxide.UIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_LogicalCarbonMonoxide);
+            this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide = new global::System.Data.DataRelation("LogicalCarbonMonoxide_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
+                        this.tableLogicalCarbonMonoxide.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualCarbonMonoxide.LogicalCarbonMonoxideUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide);
             this.relationVirtualDevice_VirtualCarbonMonoxide = new global::System.Data.DataRelation("VirtualDevice_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualCarbonMonoxide.UIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_VirtualCarbonMonoxide);
-            this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide = new global::System.Data.DataRelation("LogicalCarbonMonoxide_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
-                        this.tableLogicalCarbonMonoxide.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCarbonMonoxide.LogicalCarbonMonoxideUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide);
             this.relationFK_HardwareDevice_HWGPIOInput = new global::System.Data.DataRelation("FK_HardwareDevice_HWGPIOInput", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWGPIOInput.UIDColumn}, false);
@@ -8940,58 +8940,58 @@
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUIProxy.HardwareDeviceUIDColumn}, false);
             this.Relations.Add(this.relationFK_HardwareDevice_UIProxy);
+            this.relationLogicalSmartUI_UIProxyTouchCenter = new global::System.Data.DataRelation("LogicalSmartUI_UIProxyTouchCenter", new global::System.Data.DataColumn[] {
+                        this.tableLogicalSmartUI.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUITouchCenter.LogicalSmartUI_UIDColumn}, false);
+            this.Relations.Add(this.relationLogicalSmartUI_UIProxyTouchCenter);
             this.relationUIProxy_UITouchCenter = new global::System.Data.DataRelation("UIProxy_UITouchCenter", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter.UIDColumn}, false);
             this.Relations.Add(this.relationUIProxy_UITouchCenter);
-            this.relationLogicalSmartUI_UIProxyTouchCenter = new global::System.Data.DataRelation("LogicalSmartUI_UIProxyTouchCenter", new global::System.Data.DataColumn[] {
-                        this.tableLogicalSmartUI.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUITouchCenter.LogicalSmartUI_UIDColumn}, false);
-            this.Relations.Add(this.relationLogicalSmartUI_UIProxyTouchCenter);
             this.relationFK_UIProxy_UIProxy_Partition = new global::System.Data.DataRelation("FK_UIProxy_UIProxy_Partition", new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter_Partition.UIProxyUIDColumn}, false);
             this.Relations.Add(this.relationFK_UIProxy_UIProxy_Partition);
+            this.relationFK_Partition_PartitionDependency1 = new global::System.Data.DataRelation("FK_Partition_PartitionDependency1", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartitionDependency.ChildPartitionUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Partition_PartitionDependency1);
             this.relationFK_Partition_PartitionDependency = new global::System.Data.DataRelation("FK_Partition_PartitionDependency", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePartitionDependency.ParentPartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_PartitionDependency);
-            this.relationFK_Partition_PartitionDependency1 = new global::System.Data.DataRelation("FK_Partition_PartitionDependency1", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartitionDependency.ChildPartitionUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Partition_PartitionDependency1);
             this.relationFK_Partition_StoredFaultTypes = new global::System.Data.DataRelation("FK_Partition_StoredFaultTypes", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableStoredFaultTypes.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_StoredFaultTypes);
+            this.relationPartition_Partition_LocalSounder = new global::System.Data.DataRelation("Partition_Partition_LocalSounder", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_LocalSounder.PartitionUIDColumn}, false);
+            this.Relations.Add(this.relationPartition_Partition_LocalSounder);
             this.relationVirtualSounder_Partition_LocalSounder = new global::System.Data.DataRelation("VirtualSounder_Partition_LocalSounder", new global::System.Data.DataColumn[] {
                         this.tableVirtualSounder.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePartition_LocalSounder.LocalSounderUIDColumn}, false);
             this.Relations.Add(this.relationVirtualSounder_Partition_LocalSounder);
-            this.relationPartition_Partition_LocalSounder = new global::System.Data.DataRelation("Partition_Partition_LocalSounder", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_LocalSounder.PartitionUIDColumn}, false);
-            this.Relations.Add(this.relationPartition_Partition_LocalSounder);
             this.relationVirtualDevice_VirtualPIR = new global::System.Data.DataRelation("VirtualDevice_VirtualPIR", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualPIR.UIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_VirtualPIR);
+            this.relationDetectorGroup_VirtualDoor = new global::System.Data.DataRelation("DetectorGroup_VirtualDoor", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.SecondaryOwnerColumn}, false);
+            this.Relations.Add(this.relationDetectorGroup_VirtualDoor);
             this.relationVirtualDevice_VirtualDoor = new global::System.Data.DataRelation("VirtualDevice_VirtualDoor", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDoor.UIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_VirtualDoor);
-            this.relationDetectorGroup_VirtualDoor = new global::System.Data.DataRelation("DetectorGroup_VirtualDoor", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.SecondaryOwnerColumn}, false);
-            this.Relations.Add(this.relationDetectorGroup_VirtualDoor);
+            this.relationFK_VirtualDoor_ScheduledItem_Door = new global::System.Data.DataRelation("FK_VirtualDoor_ScheduledItem_Door", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Door.DoorUIDColumn}, false);
+            this.Relations.Add(this.relationFK_VirtualDoor_ScheduledItem_Door);
             this.relationFK_ScheduledItem_ScheduledItem_Door = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_Door", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_Door.ScheduledItemUIDColumn}, false);
             this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_Door);
-            this.relationFK_VirtualDoor_ScheduledItem_Door = new global::System.Data.DataRelation("FK_VirtualDoor_ScheduledItem_Door", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Door.DoorUIDColumn}, false);
-            this.Relations.Add(this.relationFK_VirtualDoor_ScheduledItem_Door);
             this.relationHardwareDevice_HWBus2ViewguardDual = new global::System.Data.DataRelation("HardwareDevice_HWBus2ViewguardDual", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWBus2ViewGuardDual.UIDColumn}, false);
@@ -9000,94 +9000,94 @@
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableSoundingFaultTypes.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_SoundingFaultTypes);
+            this.relationFK_AccessPoint_ScheduledItem_AP = new global::System.Data.DataRelation("FK_AccessPoint_ScheduledItem_AP", new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_AP.AccessPointUIDColumn}, false);
+            this.Relations.Add(this.relationFK_AccessPoint_ScheduledItem_AP);
             this.relationFK_ScheduledItem_ScheduledItem_AP = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_AP", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_AP.ScheduledItemUIDColumn}, false);
             this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_AP);
-            this.relationFK_AccessPoint_ScheduledItem_AP = new global::System.Data.DataRelation("FK_AccessPoint_ScheduledItem_AP", new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_AP.AccessPointUIDColumn}, false);
-            this.Relations.Add(this.relationFK_AccessPoint_ScheduledItem_AP);
+            this.relationFK_VirtualDevice_VirtualKey = new global::System.Data.DataRelation("FK_VirtualDevice_VirtualKey", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKey.UIDColumn}, false);
+            this.Relations.Add(this.relationFK_VirtualDevice_VirtualKey);
             this.relationFK_LogicalKey_VirtualKey = new global::System.Data.DataRelation("FK_LogicalKey_VirtualKey", new global::System.Data.DataColumn[] {
                         this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualKey.LogicalKeyUIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalKey_VirtualKey);
-            this.relationFK_VirtualDevice_VirtualKey = new global::System.Data.DataRelation("FK_VirtualDevice_VirtualKey", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKey.UIDColumn}, false);
-            this.Relations.Add(this.relationFK_VirtualDevice_VirtualKey);
             this.relationFK_LogicalDevice_LogicalKey = new global::System.Data.DataRelation("FK_LogicalDevice_LogicalKey", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalKey.UIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalDevice_LogicalKey);
+            this.relationFK_LogicalLed_VirtualLed = new global::System.Data.DataRelation("FK_LogicalLed_VirtualLed", new global::System.Data.DataColumn[] {
+                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualLed.LogicalLedUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalLed_VirtualLed);
             this.relationFK_VirtualDevice_VirtualLed = new global::System.Data.DataRelation("FK_VirtualDevice_VirtualLed", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualLed.UIDColumn}, false);
             this.Relations.Add(this.relationFK_VirtualDevice_VirtualLed);
-            this.relationFK_LogicalLed_VirtualLed = new global::System.Data.DataRelation("FK_LogicalLed_VirtualLed", new global::System.Data.DataColumn[] {
-                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualLed.LogicalLedUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalLed_VirtualLed);
             this.relationFK_LogicalDevice_LogicalLed = new global::System.Data.DataRelation("FK_LogicalDevice_LogicalLed", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalLed.UIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalDevice_LogicalLed);
+            this.relationFK_LogicalKeyboardReader_UIKeypad = new global::System.Data.DataRelation("FK_LogicalKeyboardReader_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalKeyboardReaderUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalKeyboardReader_UIKeypad);
+            this.relationFK_UIProxy_Keypad_UIProxy_Keypad = new global::System.Data.DataRelation("FK_UIProxy_Keypad_UIProxy_Keypad", new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.OwnerKeypadUIDColumn}, false);
+            this.Relations.Add(this.relationFK_UIProxy_Keypad_UIProxy_Keypad);
+            this.relationUIProxy_UIKeypad = new global::System.Data.DataRelation("UIProxy_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.UIDColumn}, false);
+            this.Relations.Add(this.relationUIProxy_UIKeypad);
+            this.relationFK_LogicalDisplay_UIKeypad = new global::System.Data.DataRelation("FK_LogicalDisplay_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalDisplay.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalDisplayUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalDisplay_UIKeypad);
             this.relationLogicalPeripheral_UIKeypad = new global::System.Data.DataRelation("LogicalPeripheral_UIKeypad", new global::System.Data.DataColumn[] {
                         this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUIKeypad.LogicalPeripheralUIDColumn}, false);
             this.Relations.Add(this.relationLogicalPeripheral_UIKeypad);
-            this.relationFK_LogicalDisplay_UIKeypad = new global::System.Data.DataRelation("FK_LogicalDisplay_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalDisplay.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalDisplayUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalDisplay_UIKeypad);
-            this.relationUIProxy_UIKeypad = new global::System.Data.DataRelation("UIProxy_UIKeypad", new global::System.Data.DataColumn[] {
+            this.relationFK_LogicalKey_UIKeypadItem = new global::System.Data.DataRelation("FK_LogicalKey_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.LogicalKeyUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalKey_UIKeypadItem);
+            this.relationFK_LogicalLed_UIKeypadItem = new global::System.Data.DataRelation("FK_LogicalLed_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.LogicalLedUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalLed_UIKeypadItem);
+            this.relationUIKeypad_UIKeypadItem = new global::System.Data.DataRelation("UIKeypad_UIKeypadItem", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.UIDColumn}, false);
-            this.Relations.Add(this.relationUIProxy_UIKeypad);
-            this.relationFK_UIProxy_Keypad_UIProxy_Keypad = new global::System.Data.DataRelation("FK_UIProxy_Keypad_UIProxy_Keypad", new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.OwnerKeypadUIDColumn}, false);
-            this.Relations.Add(this.relationFK_UIProxy_Keypad_UIProxy_Keypad);
-            this.relationFK_LogicalKeyboardReader_UIKeypad = new global::System.Data.DataRelation("FK_LogicalKeyboardReader_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalKeyboardReaderUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalKeyboardReader_UIKeypad);
-            this.relationFK_Signal_UIKeypadItem2 = new global::System.Data.DataRelation("FK_Signal_UIKeypadItem2", new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.UIKeypadUIDColumn}, false);
+            this.Relations.Add(this.relationUIKeypad_UIKeypadItem);
+            this.relationSignal_UIKeypadItem1 = new global::System.Data.DataRelation("Signal_UIKeypadItem1", new global::System.Data.DataColumn[] {
                         this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.GreenLed_SignalUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Signal_UIKeypadItem2);
+                        this.tableUIKeypadItem.YellowLed_SignalUIDColumn}, false);
+            this.Relations.Add(this.relationSignal_UIKeypadItem1);
             this.relationSignal_UIKeypadItem = new global::System.Data.DataRelation("Signal_UIKeypadItem", new global::System.Data.DataColumn[] {
                         this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUIKeypadItem.RedLed_SignalUIDColumn}, false);
             this.Relations.Add(this.relationSignal_UIKeypadItem);
-            this.relationSignal_UIKeypadItem1 = new global::System.Data.DataRelation("Signal_UIKeypadItem1", new global::System.Data.DataColumn[] {
+            this.relationFK_Signal_UIKeypadItem2 = new global::System.Data.DataRelation("FK_Signal_UIKeypadItem2", new global::System.Data.DataColumn[] {
                         this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.YellowLed_SignalUIDColumn}, false);
-            this.Relations.Add(this.relationSignal_UIKeypadItem1);
-            this.relationUIKeypad_UIKeypadItem = new global::System.Data.DataRelation("UIKeypad_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.UIKeypadUIDColumn}, false);
-            this.Relations.Add(this.relationUIKeypad_UIKeypadItem);
-            this.relationFK_LogicalLed_UIKeypadItem = new global::System.Data.DataRelation("FK_LogicalLed_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.LogicalLedUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalLed_UIKeypadItem);
-            this.relationFK_LogicalKey_UIKeypadItem = new global::System.Data.DataRelation("FK_LogicalKey_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.LogicalKeyUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalKey_UIKeypadItem);
+                        this.tableUIKeypadItem.GreenLed_SignalUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Signal_UIKeypadItem2);
             this.relationFK_LogicalDevice_LogicalDisplay = new global::System.Data.DataRelation("FK_LogicalDevice_LogicalDisplay", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDisplay.UIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalDevice_LogicalDisplay);
+            this.relationFK_ScheduledItem_ScheduledItem_UIProxy = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_UIProxy.ScheduledItemUIDColumn}, false);
+            this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_UIProxy);
             this.relationFK_UIProxy_ScheduledItem_UIProxy = new global::System.Data.DataRelation("FK_UIProxy_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_UIProxy.UIProxyUIDColumn}, false);
             this.Relations.Add(this.relationFK_UIProxy_ScheduledItem_UIProxy);
-            this.relationFK_ScheduledItem_ScheduledItem_UIProxy = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_UIProxy.ScheduledItemUIDColumn}, false);
-            this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_UIProxy);
             this.relationFK_HardwareDevice_HWBus2KeypadLED = new global::System.Data.DataRelation("FK_HardwareDevice_HWBus2KeypadLED", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWBus2KeypadLED.UIDColumn}, false);
@@ -9096,30 +9096,30 @@
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWBus2KeypadLCD.UIDColumn}, false);
             this.Relations.Add(this.relationFK_HardwareDevice_HWBus2KeypadLCD);
+            this.relationFK_ScheduledItem_ScheduledItem_Partition = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Partition.ScheduledItemUIDColumn}, false);
+            this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_Partition);
             this.relationFK_Partition_ScheduledItem_Partition = new global::System.Data.DataRelation("FK_Partition_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_Partition.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_ScheduledItem_Partition);
-            this.relationFK_ScheduledItem_ScheduledItem_Partition = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
+            this.relationScheduledItem_UserGroup_ScheduledItem = new global::System.Data.DataRelation("ScheduledItem_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Partition.ScheduledItemUIDColumn}, false);
-            this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_Partition);
+                        this.tableUserGroup_ScheduledItem.ScheduledItemUIDColumn}, false);
+            this.Relations.Add(this.relationScheduledItem_UserGroup_ScheduledItem);
             this.relationUserGroup_UserGroup_ScheduledItem = new global::System.Data.DataRelation("UserGroup_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
                         this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUserGroup_ScheduledItem.UserGroupUIDColumn}, false);
             this.Relations.Add(this.relationUserGroup_UserGroup_ScheduledItem);
-            this.relationScheduledItem_UserGroup_ScheduledItem = new global::System.Data.DataRelation("ScheduledItem_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUserGroup_ScheduledItem.ScheduledItemUIDColumn}, false);
-            this.Relations.Add(this.relationScheduledItem_UserGroup_ScheduledItem);
+            this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton = new global::System.Data.DataRelation("FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
+                        this.tableLogicalWirelessPanicButton.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessPanicButton.LogicalRFPanicButtonUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton);
             this.relationFK_VirtualDevice_VirtualWirelessPanicButton = new global::System.Data.DataRelation("FK_VirtualDevice_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWirelessPanicButton.UIDColumn}, false);
             this.Relations.Add(this.relationFK_VirtualDevice_VirtualWirelessPanicButton);
-            this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton = new global::System.Data.DataRelation("FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
-                        this.tableLogicalWirelessPanicButton.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessPanicButton.LogicalRFPanicButtonUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton);
             this.relationLogicalDevice_LogicalWirelessPanicButton = new global::System.Data.DataRelation("LogicalDevice_LogicalWirelessPanicButton", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessPanicButton.UIDColumn}, false);
@@ -9192,14 +9192,14 @@
                         this.tableTrigger.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableTrigger_SimpleFilter.UIDColumn}, false);
             this.Relations.Add(this.relationFK_Trigger_Trigger_SimpleFilter);
+            this.relationFK_Macro_ScheduledItem_Macro = new global::System.Data.DataRelation("FK_Macro_ScheduledItem_Macro", new global::System.Data.DataColumn[] {
+                        this.tableMacro.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Macro.MacroUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Macro_ScheduledItem_Macro);
             this.relationFK_ScheduledItem_ScheduledItem_Macro = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_Macro", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_Macro.ScheduledItemUIDColumn}, false);
             this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_Macro);
-            this.relationFK_Macro_ScheduledItem_Macro = new global::System.Data.DataRelation("FK_Macro_ScheduledItem_Macro", new global::System.Data.DataColumn[] {
-                        this.tableMacro.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Macro.MacroUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Macro_ScheduledItem_Macro);
             this.relationPartitionMember_PMCollection_PartitionMember = new global::System.Data.DataRelation("PartitionMember_PMCollection_PartitionMember", new global::System.Data.DataColumn[] {
                         this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePMCollection_PartitionMember.PartitionMemberUIDColumn}, false);
@@ -14262,6 +14262,8 @@
             
             private global::System.Data.DataColumn columnexpHWDeviceName;
             
+            private global::System.Data.DataColumn columnDatapointNumber;
+            
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             public VirtualBusDoorDataTable() : 
@@ -14370,6 +14372,14 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public global::System.Data.DataColumn DatapointNumberColumn {
+                get {
+                    return this.columnDatapointNumber;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             [global::System.ComponentModel.Browsable(false)]
             public int Count {
                 get {
@@ -14405,7 +14415,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualBusDoorRow AddVirtualBusDoorRow(VirtualDoorRow parentVirtualDoorRowByVirtualDoor_VirtualBusDoor, bool OpenSignalSounder, int OpenSignalTime, int OpenAlarmTime, LogicalDoorRow parentLogicalDoorRowByLogicalDoor_VirtualBusDoor, string expName, uint expOwner, string expHWDeviceName) {
+            public VirtualBusDoorRow AddVirtualBusDoorRow(VirtualDoorRow parentVirtualDoorRowByVirtualDoor_VirtualBusDoor, bool OpenSignalSounder, int OpenSignalTime, int OpenAlarmTime, LogicalDoorRow parentLogicalDoorRowByLogicalDoor_VirtualBusDoor, string expName, uint expOwner, string expHWDeviceName, int DatapointNumber) {
                 VirtualBusDoorRow rowVirtualBusDoorRow = ((VirtualBusDoorRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
                         null,
@@ -14415,7 +14425,8 @@
                         null,
                         expName,
                         expOwner,
-                        expHWDeviceName};
+                        expHWDeviceName,
+                        DatapointNumber};
                 if ((parentVirtualDoorRowByVirtualDoor_VirtualBusDoor != null)) {
                     columnValuesArray[0] = parentVirtualDoorRowByVirtualDoor_VirtualBusDoor[0];
                 }
@@ -14429,7 +14440,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualBusDoorRow AddVirtualBusDoorRow(VirtualDoorRow parentVirtualDoorRowByVirtualDoor_VirtualBusDoor, bool OpenSignalSounder, int OpenSignalTime, int OpenAlarmTime, LogicalDoorRow parentLogicalDoorRowByLogicalDoor_VirtualBusDoor) {
+            public VirtualBusDoorRow AddVirtualBusDoorRow(VirtualDoorRow parentVirtualDoorRowByVirtualDoor_VirtualBusDoor, bool OpenSignalSounder, int OpenSignalTime, int OpenAlarmTime, LogicalDoorRow parentLogicalDoorRowByLogicalDoor_VirtualBusDoor, int DatapointNumber) {
                 VirtualBusDoorRow rowVirtualBusDoorRow = ((VirtualBusDoorRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
                         null,
@@ -14439,7 +14450,8 @@
                         null,
                         null,
                         null,
-                        null};
+                        null,
+                        DatapointNumber};
                 if ((parentVirtualDoorRowByVirtualDoor_VirtualBusDoor != null)) {
                     columnValuesArray[0] = parentVirtualDoorRowByVirtualDoor_VirtualBusDoor[0];
                 }
@@ -14483,6 +14495,7 @@
                 this.columnexpName = base.Columns["expName"];
                 this.columnexpOwner = base.Columns["expOwner"];
                 this.columnexpHWDeviceName = base.Columns["expHWDeviceName"];
+                this.columnDatapointNumber = base.Columns["DatapointNumber"];
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -14504,6 +14517,8 @@
                 base.Columns.Add(this.columnexpOwner);
                 this.columnexpHWDeviceName = new global::System.Data.DataColumn("expHWDeviceName", typeof(string), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnexpHWDeviceName);
+                this.columnDatapointNumber = new global::System.Data.DataColumn("DatapointNumber", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnDatapointNumber);
                 this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                 this.columnUID}, true));
                 this.columnUID.AllowDBNull = false;
@@ -25305,7 +25320,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow AddVirtualHardwiredDoorRow(VirtualDeviceRow parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor, bool AcousticPrealarm, int PrealarmTime, int AlarmTime, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor1, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor1, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor6, string expName, string expDetGroupName, string expPartitionName) {
+            public VirtualHardwiredDoorRow AddVirtualHardwiredDoorRow(VirtualDoorRow parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor, bool AcousticPrealarm, int PrealarmTime, int AlarmTime, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor1, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor1, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor6, string expName, string expDetGroupName, string expPartitionName) {
                 VirtualHardwiredDoorRow rowVirtualHardwiredDoorRow = ((VirtualHardwiredDoorRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
                         null,
@@ -25322,8 +25337,8 @@
                         expName,
                         expDetGroupName,
                         expPartitionName};
-                if ((parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor != null)) {
-                    columnValuesArray[0] = parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor[0];
+                if ((parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor != null)) {
+                    columnValuesArray[0] = parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor[0];
                 }
                 if ((parentLogicalInputRowByLogicalInput_VirtualWiredDoor != null)) {
                     columnValuesArray[4] = parentLogicalInputRowByLogicalInput_VirtualWiredDoor[0];
@@ -25353,7 +25368,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow AddVirtualHardwiredDoorRow(VirtualDeviceRow parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor, bool AcousticPrealarm, int PrealarmTime, int AlarmTime, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor1, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor1, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor6) {
+            public VirtualHardwiredDoorRow AddVirtualHardwiredDoorRow(VirtualDoorRow parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor, bool AcousticPrealarm, int PrealarmTime, int AlarmTime, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor1, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor1, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor6) {
                 VirtualHardwiredDoorRow rowVirtualHardwiredDoorRow = ((VirtualHardwiredDoorRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
                         null,
@@ -25370,8 +25385,8 @@
                         null,
                         null,
                         null};
-                if ((parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor != null)) {
-                    columnValuesArray[0] = parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor[0];
+                if ((parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor != null)) {
+                    columnValuesArray[0] = parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor[0];
                 }
                 if ((parentLogicalInputRowByLogicalInput_VirtualWiredDoor != null)) {
                     columnValuesArray[4] = parentLogicalInputRowByLogicalInput_VirtualWiredDoor[0];
@@ -83348,23 +83363,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRow {
+            public PartitionMemberRow PartitionMemberRow {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_DetectorGroup"])));
+                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_DetectorGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_DetectorGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_DetectorGroup"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionMemberRow PartitionMemberRow {
+            public SounderTemplateRow SounderTemplateRow {
                 get {
-                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_DetectorGroup"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_DetectorGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_DetectorGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_DetectorGroup"]);
                 }
             }
             
@@ -83652,23 +83667,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalPIRRow LogicalPIRRow {
+            public VirtualPIRRow VirtualPIRRow {
                 get {
-                    return ((LogicalPIRRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPIR_VirtualBusPIR"])));
+                    return ((VirtualPIRRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPIR_VirtualBusPIR"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPIR_VirtualBusPIR"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPIR_VirtualBusPIR"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualPIRRow VirtualPIRRow {
+            public LogicalPIRRow LogicalPIRRow {
                 get {
-                    return ((VirtualPIRRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPIR_VirtualBusPIR"])));
+                    return ((LogicalPIRRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPIR_VirtualBusPIR"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPIR_VirtualBusPIR"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPIR_VirtualBusPIR"]);
                 }
             }
             
@@ -83828,23 +83843,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualInput"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualInput"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualInput"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualInput"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalInputRow LogicalInputRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualInput"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualInput"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualInput"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualInput"]);
                 }
             }
             
@@ -84032,12 +84047,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRow {
+            public SignalRow SignalRow {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualOutput"])));
+                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["FK_Signal_VirtualOutput"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualOutput"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Signal_VirtualOutput"]);
                 }
             }
             
@@ -84054,12 +84069,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalRow SignalRow {
+            public LogicalOutputRow LogicalOutputRow {
                 get {
-                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["FK_Signal_VirtualOutput"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualOutput"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Signal_VirtualOutput"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualOutput"]);
                 }
             }
             
@@ -85140,12 +85155,17 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalDoorRow LogicalDoorRow {
+            public int DatapointNumber {
                 get {
-                    return ((LogicalDoorRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDoor_VirtualBusDoor"])));
+                    try {
+                        return ((int)(this[this.tableVirtualBusDoor.DatapointNumberColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'DatapointNumber\' in table \'VirtualBusDoor\' is DBNull.", e);
+                    }
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDoor_VirtualBusDoor"]);
+                    this[this.tableVirtualBusDoor.DatapointNumberColumn] = value;
                 }
             }
             
@@ -85162,6 +85182,17 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public LogicalDoorRow LogicalDoorRow {
+                get {
+                    return ((LogicalDoorRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDoor_VirtualBusDoor"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDoor_VirtualBusDoor"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             public bool IsLogicalDoorUIDNull() {
                 return this.IsNull(this.tableVirtualBusDoor.LogicalDoorUIDColumn);
             }
@@ -85207,6 +85238,18 @@
             public void SetexpHWDeviceNameNull() {
                 this[this.tableVirtualBusDoor.expHWDeviceNameColumn] = global::System.Convert.DBNull;
             }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public bool IsDatapointNumberNull() {
+                return this.IsNull(this.tableVirtualBusDoor.DatapointNumberColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public void SetDatapointNumberNull() {
+                this[this.tableVirtualBusDoor.DatapointNumberColumn] = global::System.Convert.DBNull;
+            }
         }
         
         /// <summary>
@@ -85948,12 +85991,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ConditionRow ConditionRow {
+            public ActionRow ActionRowByActionOn_Macro {
                 get {
-                    return ((ConditionRow)(this.GetParentRow(this.Table.ParentRelations["Condition_Macro"])));
+                    return ((ActionRow)(this.GetParentRow(this.Table.ParentRelations["ActionOn_Macro"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Condition_Macro"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["ActionOn_Macro"]);
                 }
             }
             
@@ -85970,12 +86013,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ActionRow ActionRowByActionOn_Macro {
+            public ConditionRow ConditionRow {
                 get {
-                    return ((ActionRow)(this.GetParentRow(this.Table.ParentRelations["ActionOn_Macro"])));
+                    return ((ConditionRow)(this.GetParentRow(this.Table.ParentRelations["Condition_Macro"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["ActionOn_Macro"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Condition_Macro"]);
                 }
             }
             
@@ -86157,23 +86200,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public MacroRow[] GetMacroRowsByActionOff_Macro() {
-                if ((this.Table.ChildRelations["ActionOff_Macro"] == null)) {
+            public MacroRow[] GetMacroRowsByActionOn_Macro() {
+                if ((this.Table.ChildRelations["ActionOn_Macro"] == null)) {
                     return new MacroRow[0];
                 }
                 else {
-                    return ((MacroRow[])(base.GetChildRows(this.Table.ChildRelations["ActionOff_Macro"])));
+                    return ((MacroRow[])(base.GetChildRows(this.Table.ChildRelations["ActionOn_Macro"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public MacroRow[] GetMacroRowsByActionOn_Macro() {
-                if ((this.Table.ChildRelations["ActionOn_Macro"] == null)) {
+            public MacroRow[] GetMacroRowsByActionOff_Macro() {
+                if ((this.Table.ChildRelations["ActionOff_Macro"] == null)) {
                     return new MacroRow[0];
                 }
                 else {
-                    return ((MacroRow[])(base.GetChildRows(this.Table.ChildRelations["ActionOn_Macro"])));
+                    return ((MacroRow[])(base.GetChildRows(this.Table.ChildRelations["ActionOff_Macro"])));
                 }
             }
         }
@@ -86387,23 +86430,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualWindowRow[] GetVirtualWindowRowsByLogicalInput_VirtualWindow() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWindow"] == null)) {
+            public VirtualWindowRow[] GetVirtualWindowRowsByLogicalInput_VirtualWindow1() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWindow1"] == null)) {
                     return new VirtualWindowRow[0];
                 }
                 else {
-                    return ((VirtualWindowRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWindow"])));
+                    return ((VirtualWindowRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWindow1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualWindowRow[] GetVirtualWindowRowsByLogicalInput_VirtualWindow1() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWindow1"] == null)) {
+            public VirtualWindowRow[] GetVirtualWindowRowsByLogicalInput_VirtualWindow() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWindow"] == null)) {
                     return new VirtualWindowRow[0];
                 }
                 else {
-                    return ((VirtualWindowRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWindow1"])));
+                    return ((VirtualWindowRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWindow"])));
                 }
             }
             
@@ -86420,12 +86463,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor1() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredDoor1"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor2() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredDoor2"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredDoor1"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredDoor2"])));
                 }
             }
             
@@ -86442,23 +86485,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor2() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredDoor2"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor1() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredDoor1"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredDoor2"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredDoor1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredPIR"] == null)) {
+            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR2() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredPIR2"] == null)) {
                     return new VirtualHardwiredPIRRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredPIR"])));
+                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredPIR2"])));
                 }
             }
             
@@ -86475,12 +86518,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR2() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredPIR2"] == null)) {
+            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredPIR"] == null)) {
                     return new VirtualHardwiredPIRRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredPIR2"])));
+                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredPIR"])));
                 }
             }
             
@@ -86651,67 +86694,67 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor6() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor6"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor6"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor2() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor2"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor1() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor1"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor2"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor1() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor1"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor2() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor2"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor1"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor2"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor6() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor6"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor6"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR1() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR1"] == null)) {
+            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR2() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR2"] == null)) {
                     return new VirtualHardwiredPIRRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR1"])));
+                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR2"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR2() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR2"] == null)) {
+            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR1() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR1"] == null)) {
                     return new VirtualHardwiredPIRRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR2"])));
+                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR1"])));
                 }
             }
             
@@ -88178,23 +88221,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionDependencyRow[] GetPartitionDependencyRows() {
-                if ((this.Table.ChildRelations["FK_Partition_PartitionDependency"] == null)) {
+            public PartitionDependencyRow[] GetPartitionDependencyRowsByFK_Partition_PartitionDependency1() {
+                if ((this.Table.ChildRelations["FK_Partition_PartitionDependency1"] == null)) {
                     return new PartitionDependencyRow[0];
                 }
                 else {
-                    return ((PartitionDependencyRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Partition_PartitionDependency"])));
+                    return ((PartitionDependencyRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Partition_PartitionDependency1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionDependencyRow[] GetPartitionDependencyRowsByFK_Partition_PartitionDependency1() {
-                if ((this.Table.ChildRelations["FK_Partition_PartitionDependency1"] == null)) {
+            public PartitionDependencyRow[] GetPartitionDependencyRows() {
+                if ((this.Table.ChildRelations["FK_Partition_PartitionDependency"] == null)) {
                     return new PartitionDependencyRow[0];
                 }
                 else {
-                    return ((PartitionDependencyRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Partition_PartitionDependency1"])));
+                    return ((PartitionDependencyRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Partition_PartitionDependency"])));
                 }
             }
             
@@ -89386,23 +89429,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public CommandRow CommandRow {
+            public ActionRow ActionRow {
                 get {
-                    return ((CommandRow)(this.GetParentRow(this.Table.ParentRelations["Command_ActionList_Command"])));
+                    return ((ActionRow)(this.GetParentRow(this.Table.ParentRelations["ActionList_ActionList_Command"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Command_ActionList_Command"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["ActionList_ActionList_Command"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ActionRow ActionRow {
+            public CommandRow CommandRow {
                 get {
-                    return ((ActionRow)(this.GetParentRow(this.Table.ParentRelations["ActionList_ActionList_Command"])));
+                    return ((CommandRow)(this.GetParentRow(this.Table.ParentRelations["Command_ActionList_Command"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["ActionList_ActionList_Command"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Command_ActionList_Command"]);
                 }
             }
             
@@ -90126,23 +90169,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalDeviceRow LogicalDeviceRow {
+            public PartitionMemberRow PartitionMemberRow {
                 get {
-                    return ((LogicalDeviceRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDevice_VirtualDevice"])));
+                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_VirtualDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDevice_VirtualDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_VirtualDevice"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionMemberRow PartitionMemberRow {
+            public LogicalDeviceRow LogicalDeviceRow {
                 get {
-                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_VirtualDevice"])));
+                    return ((LogicalDeviceRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDevice_VirtualDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_VirtualDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDevice_VirtualDevice"]);
                 }
             }
             
@@ -91386,23 +91429,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public HardwareDeviceRow HardwareDeviceRowParent {
+            public CatalogueDataRow CatalogueDataRow {
                 get {
-                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["HardwareDevice_HardwareDevice"])));
+                    return ((CatalogueDataRow)(this.GetParentRow(this.Table.ParentRelations["CatalogueData_HardwareDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["HardwareDevice_HardwareDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["CatalogueData_HardwareDevice"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public CatalogueDataRow CatalogueDataRow {
+            public HardwareDeviceRow HardwareDeviceRowParent {
                 get {
-                    return ((CatalogueDataRow)(this.GetParentRow(this.Table.ParentRelations["CatalogueData_HardwareDevice"])));
+                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["HardwareDevice_HardwareDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["CatalogueData_HardwareDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["HardwareDevice_HardwareDevice"]);
                 }
             }
             
@@ -92090,23 +92133,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public WirelessMasterRow[] GetWirelessMasterRows() {
-                if ((this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster"] == null)) {
+            public WirelessMasterRow[] GetWirelessMasterRowsByFK_HardwareDevice_WirelessMaster1() {
+                if ((this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster1"] == null)) {
                     return new WirelessMasterRow[0];
                 }
                 else {
-                    return ((WirelessMasterRow[])(base.GetChildRows(this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster"])));
+                    return ((WirelessMasterRow[])(base.GetChildRows(this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public WirelessMasterRow[] GetWirelessMasterRowsByFK_HardwareDevice_WirelessMaster1() {
-                if ((this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster1"] == null)) {
+            public WirelessMasterRow[] GetWirelessMasterRows() {
+                if ((this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster"] == null)) {
                     return new WirelessMasterRow[0];
                 }
                 else {
-                    return ((WirelessMasterRow[])(base.GetChildRows(this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster1"])));
+                    return ((WirelessMasterRow[])(base.GetChildRows(this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster"])));
                 }
             }
             
@@ -92350,67 +92393,67 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR {
+            public VirtualPIRRow VirtualPIRRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR"])));
+                    return ((VirtualPIRRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPIR_VirtualHardwiredPIR"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPIR_VirtualHardwiredPIR"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR1 {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredPIR2 {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR1"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR2"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR2 {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredPIR1 {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR2"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredPIR1 {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR2 {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR1"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR2"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredPIR2 {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR1 {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR2"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualPIRRow VirtualPIRRow {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR {
                 get {
-                    return ((VirtualPIRRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPIR_VirtualHardwiredPIR"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPIR_VirtualHardwiredPIR"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR"]);
                 }
             }
             
@@ -92788,45 +92831,45 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public VirtualDoorRow VirtualDoorRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWiredDoor"])));
+                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDoor_VirtualHardwiredDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWiredDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDoor_VirtualHardwiredDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor1 {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor2 {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor1"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor2"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor6 {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor1 {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor6"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor6"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor1"]);
                 }
             }
             
@@ -92843,45 +92886,45 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor1 {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor6 {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor1"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor6"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor6"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor2 {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor1 {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor2"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDoorRow VirtualDoorRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDoor_VirtualHardwiredDoor"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWiredDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDoor_VirtualHardwiredDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWiredDoor"]);
                 }
             }
             
@@ -93117,23 +93160,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalSounderRow LogicalSounderRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalSounderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSounder_VirtualSounder"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSounder_VirtualSounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSounder"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalSounderRow LogicalSounderRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSounder"])));
+                    return ((LogicalSounderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSounder_VirtualSounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSounder_VirtualSounder"]);
                 }
             }
             
@@ -93271,23 +93314,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalEmailRow LogicalEmailRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalEmailRow)(this.GetParentRow(this.Table.ParentRelations["LogicalEmail_VirtualEmail"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualEmail"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalEmail_VirtualEmail"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualEmail"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalEmailRow LogicalEmailRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualEmail"])));
+                    return ((LogicalEmailRow)(this.GetParentRow(this.Table.ParentRelations["LogicalEmail_VirtualEmail"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualEmail"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalEmail_VirtualEmail"]);
                 }
             }
             
@@ -93403,23 +93446,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalCameraRow LogicalCameraRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalCameraRow)(this.GetParentRow(this.Table.ParentRelations["LogicalCamera_VirtualCamera"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualCamera"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalCamera_VirtualCamera"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualCamera"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalCameraRow LogicalCameraRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualCamera"])));
+                    return ((LogicalCameraRow)(this.GetParentRow(this.Table.ParentRelations["LogicalCamera_VirtualCamera"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualCamera"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalCamera_VirtualCamera"]);
                 }
             }
             
@@ -93535,23 +93578,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalSMSRow LogicalSMSRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalSMSRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSMS_VirtualSMS"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSMS"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSMS_VirtualSMS"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSMS"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalSMSRow LogicalSMSRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSMS"])));
+                    return ((LogicalSMSRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSMS_VirtualSMS"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSMS"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSMS_VirtualSMS"]);
                 }
             }
             
@@ -93667,23 +93710,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
+            public LogicalReaderRow LogicalReaderRow {
                 get {
-                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualReader"])));
+                    return ((LogicalReaderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalReader_VirtualReader"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualReader"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalReader_VirtualReader"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalReaderRow LogicalReaderRow {
+            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
                 get {
-                    return ((LogicalReaderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalReader_VirtualReader"])));
+                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualReader"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalReader_VirtualReader"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualReader"]);
                 }
             }
             
@@ -93799,23 +93842,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
+            public LogicalKeyboardRow LogicalKeyboardRow {
                 get {
-                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboard"])));
+                    return ((LogicalKeyboardRow)(this.GetParentRow(this.Table.ParentRelations["LogicalKeyboard_VirtualKeyboard"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboard"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalKeyboard_VirtualKeyboard"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyboardRow LogicalKeyboardRow {
+            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
                 get {
-                    return ((LogicalKeyboardRow)(this.GetParentRow(this.Table.ParentRelations["LogicalKeyboard_VirtualKeyboard"])));
+                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboard"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalKeyboard_VirtualKeyboard"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboard"]);
                 }
             }
             
@@ -93933,23 +93976,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
+            public LogicalKeyboardReaderRow LogicalKeyboardReaderRow {
                 get {
-                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboardReader"])));
+                    return ((LogicalKeyboardReaderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalKeyboardReader_VirtualKeyboardReader"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboardReader"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalKeyboardReader_VirtualKeyboardReader"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyboardReaderRow LogicalKeyboardReaderRow {
+            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
                 get {
-                    return ((LogicalKeyboardReaderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalKeyboardReader_VirtualKeyboardReader"])));
+                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboardReader"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalKeyboardReader_VirtualKeyboardReader"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboardReader"]);
                 }
             }
             
@@ -94065,23 +94108,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalInputRow LogicalInputRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualKeySwitch"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualKeySwitch"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualKeySwitch"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualKeySwitch"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualKeySwitch"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualKeySwitch"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualKeySwitch"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualKeySwitch"]);
                 }
             }
             
@@ -94197,23 +94240,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualRelay"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualRelay"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualRelay"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualRelay"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalOutputRow LogicalOutputRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualRelay"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualRelay"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualRelay"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualRelay"]);
                 }
             }
             
@@ -94329,12 +94372,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWindow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWindow"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWindow"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWindow"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWindow"]);
                 }
             }
             
@@ -94351,12 +94394,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWindow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWindow"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWindow"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWindow"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWindow"]);
                 }
             }
             
@@ -95213,23 +95256,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalPeripheralRow LogicalPeripheralRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualPeripheral"])));
+                    return ((LogicalPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPeripheral_VirtualPeripheral"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualPeripheral"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPeripheral_VirtualPeripheral"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalPeripheralRow LogicalPeripheralRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPeripheral_VirtualPeripheral"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualPeripheral"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPeripheral_VirtualPeripheral"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualPeripheral"]);
                 }
             }
             
@@ -95426,23 +95469,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalSmokeDetectorRow LogicalSmokeDetectorRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSmokeDetector"])));
+                    return ((LogicalSmokeDetectorRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSmokeDetector_VirtualSmokeDetector"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSmokeDetector"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSmokeDetector_VirtualSmokeDetector"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalSmokeDetectorRow LogicalSmokeDetectorRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalSmokeDetectorRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSmokeDetector_VirtualSmokeDetector"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSmokeDetector"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSmokeDetector_VirtualSmokeDetector"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSmokeDetector"]);
                 }
             }
             
@@ -95559,23 +95602,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalTemperatureRow LogicalTemperatureRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualTemperature"])));
+                    return ((LogicalTemperatureRow)(this.GetParentRow(this.Table.ParentRelations["LogicalTemperature_VirtualTemperature"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualTemperature"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalTemperature_VirtualTemperature"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalTemperatureRow LogicalTemperatureRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalTemperatureRow)(this.GetParentRow(this.Table.ParentRelations["LogicalTemperature_VirtualTemperature"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualTemperature"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalTemperature_VirtualTemperature"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualTemperature"]);
                 }
             }
             
@@ -96113,23 +96156,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public HardwareDeviceRow HardwareDeviceRow {
+            public HardwareDeviceRow HardwareDeviceRowByFK_HardwareDevice_WirelessMaster1 {
                 get {
-                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster"])));
+                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public HardwareDeviceRow HardwareDeviceRowByFK_HardwareDevice_WirelessMaster1 {
+            public HardwareDeviceRow HardwareDeviceRow {
                 get {
-                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster1"])));
+                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster"]);
                 }
             }
             
@@ -96706,23 +96749,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public AccessPointRow AccessPointRow {
+            public UserRow UserRow {
                 get {
-                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPoint_AccessPoint_User"])));
+                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["FK_User_AccessPoint_User"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPoint_AccessPoint_User"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_User_AccessPoint_User"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserRow UserRow {
+            public AccessPointRow AccessPointRow {
                 get {
-                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["FK_User_AccessPoint_User"])));
+                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPoint_AccessPoint_User"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_User_AccessPoint_User"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPoint_AccessPoint_User"]);
                 }
             }
             
@@ -96948,67 +96991,67 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle1 {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle2 {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle1"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle2"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle3 {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle3"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle3"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle4 {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_ExternalSounderStyle"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle4"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Partition_ExternalSounderStyle"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle4"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle4 {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle4"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_ExternalSounderStyle"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle4"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Partition_ExternalSounderStyle"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle3 {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle3"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle3"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle2 {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle1 {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle2"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle1"]);
                 }
             }
             
@@ -97348,23 +97391,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalingGroupRow SignalingGroupRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_Partition_SignalingGroup"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_Partition_SignalingGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_Partition_SignalingGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Partition_Partition_SignalingGroup"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public SignalingGroupRow SignalingGroupRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_Partition_SignalingGroup"])));
+                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_Partition_SignalingGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Partition_Partition_SignalingGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_Partition_SignalingGroup"]);
                 }
             }
             
@@ -97453,23 +97496,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualSounderRow VirtualSounderRow {
+            public SignalingGroupRow SignalingGroupRow {
                 get {
-                    return ((VirtualSounderRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_SignalingGroup_Sounder"])));
+                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_SignalingGroup_Siren"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_SignalingGroup_Sounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_SignalingGroup_Siren"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalingGroupRow SignalingGroupRow {
+            public VirtualSounderRow VirtualSounderRow {
                 get {
-                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_SignalingGroup_Siren"])));
+                    return ((VirtualSounderRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_SignalingGroup_Sounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_SignalingGroup_Siren"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_SignalingGroup_Sounder"]);
                 }
             }
             
@@ -97558,23 +97601,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalingGroupRow SignalingGroupRow {
+            public VirtualFlasherRow VirtualFlasherRow {
                 get {
-                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_SignalingGroup_Flasher"])));
+                    return ((VirtualFlasherRow)(this.GetParentRow(this.Table.ParentRelations["VirtualFlasher_SignalingGroup_Flasher"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_SignalingGroup_Flasher"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualFlasher_SignalingGroup_Flasher"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualFlasherRow VirtualFlasherRow {
+            public SignalingGroupRow SignalingGroupRow {
                 get {
-                    return ((VirtualFlasherRow)(this.GetParentRow(this.Table.ParentRelations["VirtualFlasher_SignalingGroup_Flasher"])));
+                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_SignalingGroup_Flasher"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualFlasher_SignalingGroup_Flasher"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_SignalingGroup_Flasher"]);
                 }
             }
             
@@ -97694,12 +97737,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRow {
+            public LogicalOutputRow LogicalOutputRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_APTurnstile"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_APTurnstile"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_APTurnstile"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_APTurnstile"]);
                 }
             }
             
@@ -97716,12 +97759,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRow {
+            public LogicalInputRow LogicalInputRow {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_APTurnstile"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_APTurnstile"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_APTurnstile"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_APTurnstile"]);
                 }
             }
             
@@ -104788,23 +104831,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualPeripheralRow VirtualPeripheralRow {
+            public PartitionMemberRow PartitionMemberRow {
                 get {
-                    return ((VirtualPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"])));
+                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionMemberRow PartitionMemberRow {
+            public VirtualPeripheralRow VirtualPeripheralRow {
                 get {
-                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"])));
+                    return ((VirtualPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"]);
                 }
             }
             
@@ -105757,23 +105800,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public AccessPointRow AccessPointRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["AccessPoint_ScheduledItem_AccessPoint"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["AccessPoint_ScheduledItem_AccessPoint"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public AccessPointRow AccessPointRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"])));
+                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["AccessPoint_ScheduledItem_AccessPoint"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["AccessPoint_ScheduledItem_AccessPoint"]);
                 }
             }
             
@@ -106228,23 +106271,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public TimeScheduleRow TimeScheduleRow {
+            public UserGroupRow UserGroupRow {
                 get {
-                    return ((TimeScheduleRow)(this.GetParentRow(this.Table.ParentRelations["FK_TimeSchedule_UserGroup_TimeSchedule"])));
+                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["FK_RTZ_UserGroup_TimeSchedule"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_TimeSchedule_UserGroup_TimeSchedule"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_RTZ_UserGroup_TimeSchedule"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserGroupRow UserGroupRow {
+            public TimeScheduleRow TimeScheduleRow {
                 get {
-                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["FK_RTZ_UserGroup_TimeSchedule"])));
+                    return ((TimeScheduleRow)(this.GetParentRow(this.Table.ParentRelations["FK_TimeSchedule_UserGroup_TimeSchedule"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_RTZ_UserGroup_TimeSchedule"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_TimeSchedule_UserGroup_TimeSchedule"]);
                 }
             }
             
@@ -106758,23 +106801,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserGroupRow UserGroupRow {
+            public UserRow UserRow {
                 get {
-                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["UserGroup_User_UserGroup"])));
+                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["User_User_UserGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["UserGroup_User_UserGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["User_User_UserGroup"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserRow UserRow {
+            public UserGroupRow UserGroupRow {
                 get {
-                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["User_User_UserGroup"])));
+                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["UserGroup_User_UserGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["User_User_UserGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["UserGroup_User_UserGroup"]);
                 }
             }
             
@@ -106878,23 +106921,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalOutputRow LogicalOutputRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualFlasher"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualFlasher"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualFlasher"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualFlasher"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualFlasher"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualFlasher"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualFlasher"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualFlasher"]);
                 }
             }
             
@@ -107022,23 +107065,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalDSAlarmReportingRow LogicalDSAlarmReportingRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualDSDevice"])));
+                    return ((LogicalDSAlarmReportingRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDSAlarmReporting_VirtualDSDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualDSDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDSAlarmReporting_VirtualDSDevice"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalDSAlarmReportingRow LogicalDSAlarmReportingRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalDSAlarmReportingRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDSAlarmReporting_VirtualDSDevice"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualDSDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDSAlarmReporting_VirtualDSDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualDSDevice"]);
                 }
             }
             
@@ -107286,23 +107329,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDSDeviceRow VirtualDSDeviceRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((VirtualDSDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDSDevice_AlarmDevice"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_AlarmDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDSDevice_AlarmDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_AlarmDevice"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public VirtualDSDeviceRow VirtualDSDeviceRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_AlarmDevice"])));
+                    return ((VirtualDSDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDSDevice_AlarmDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_AlarmDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDSDevice_AlarmDevice"]);
                 }
             }
             
@@ -107448,23 +107491,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public AlarmDeviceRow AlarmDeviceRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_AlarmDevice_FaultPartition"])));
+                    return ((AlarmDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_AlarmDevice_AlarmDevice_FaultPartition"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_AlarmDevice_FaultPartition"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_AlarmDevice_AlarmDevice_FaultPartition"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public AlarmDeviceRow AlarmDeviceRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((AlarmDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_AlarmDevice_AlarmDevice_FaultPartition"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_AlarmDevice_FaultPartition"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_AlarmDevice_AlarmDevice_FaultPartition"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_AlarmDevice_FaultPartition"]);
                 }
             }
             
@@ -108045,23 +108088,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalWirelessMasterRow LogicalWirelessMasterRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWirelessMaster"])));
+                    return ((LogicalWirelessMasterRow)(this.GetParentRow(this.Table.ParentRelations["LogicalWirelessMaster_VirtualWirelessMaster"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWirelessMaster"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalWirelessMaster_VirtualWirelessMaster"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalWirelessMasterRow LogicalWirelessMasterRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalWirelessMasterRow)(this.GetParentRow(this.Table.ParentRelations["LogicalWirelessMaster_VirtualWirelessMaster"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWirelessMaster"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalWirelessMaster_VirtualWirelessMaster"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWirelessMaster"]);
                 }
             }
             
@@ -108380,23 +108423,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalWirelessPeripheralRow LogicalWirelessPeripheralRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWirelessPeripheral"])));
+                    return ((LogicalWirelessPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWirelessPeripheral"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalWirelessPeripheralRow LogicalWirelessPeripheralRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalWirelessPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWirelessPeripheral"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWirelessPeripheral"]);
                 }
             }
             
@@ -108735,23 +108778,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalCarbonMonoxideRow LogicalCarbonMonoxideRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualCarbonMonoxide"])));
+                    return ((LogicalCarbonMonoxideRow)(this.GetParentRow(this.Table.ParentRelations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualCarbonMonoxide"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalCarbonMonoxideRow LogicalCarbonMonoxideRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalCarbonMonoxideRow)(this.GetParentRow(this.Table.ParentRelations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualCarbonMonoxide"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualCarbonMonoxide"]);
                 }
             }
             
@@ -109017,23 +109060,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle1() {
-                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle1"] == null)) {
+            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle2() {
+                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle2"] == null)) {
                     return new ExternalSounderStyleRow[0];
                 }
                 else {
-                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle1"])));
+                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle2"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle() {
-                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle"] == null)) {
+            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle3() {
+                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle3"] == null)) {
                     return new ExternalSounderStyleRow[0];
                 }
                 else {
-                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle"])));
+                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle3"])));
                 }
             }
             
@@ -109050,23 +109093,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle3() {
-                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle3"] == null)) {
+            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle() {
+                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle"] == null)) {
                     return new ExternalSounderStyleRow[0];
                 }
                 else {
-                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle3"])));
+                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle2() {
-                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle2"] == null)) {
+            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle1() {
+                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle1"] == null)) {
                     return new ExternalSounderStyleRow[0];
                 }
                 else {
-                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle2"])));
+                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle1"])));
                 }
             }
             
@@ -110158,23 +110201,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIProxyRow UIProxyRow {
+            public LogicalSmartUIRow LogicalSmartUIRow {
                 get {
-                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["UIProxy_UITouchCenter"])));
+                    return ((LogicalSmartUIRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSmartUI_UIProxyTouchCenter"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["UIProxy_UITouchCenter"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSmartUI_UIProxyTouchCenter"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalSmartUIRow LogicalSmartUIRow {
+            public UIProxyRow UIProxyRow {
                 get {
-                    return ((LogicalSmartUIRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSmartUI_UIProxyTouchCenter"])));
+                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["UIProxy_UITouchCenter"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSmartUI_UIProxyTouchCenter"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["UIProxy_UITouchCenter"]);
                 }
             }
             
@@ -110836,23 +110879,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public PartitionRow PartitionRowByFK_Partition_PartitionDependency1 {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_PartitionDependency"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_PartitionDependency1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_PartitionDependency"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_PartitionDependency1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRowByFK_Partition_PartitionDependency1 {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_PartitionDependency1"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_PartitionDependency"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_PartitionDependency1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_PartitionDependency"]);
                 }
             }
             
@@ -111220,23 +111263,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualSounderRow VirtualSounderRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((VirtualSounderRow)(this.GetParentRow(this.Table.ParentRelations["VirtualSounder_Partition_LocalSounder"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_Partition_LocalSounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualSounder_Partition_LocalSounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Partition_Partition_LocalSounder"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public VirtualSounderRow VirtualSounderRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_Partition_LocalSounder"])));
+                    return ((VirtualSounderRow)(this.GetParentRow(this.Table.ParentRelations["VirtualSounder_Partition_LocalSounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Partition_Partition_LocalSounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualSounder_Partition_LocalSounder"]);
                 }
             }
             
@@ -111608,23 +111651,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public PartitionMemberRow PartitionMemberRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualDoor"])));
+                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["DetectorGroup_VirtualDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["DetectorGroup_VirtualDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionMemberRow PartitionMemberRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["DetectorGroup_VirtualDoor"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["DetectorGroup_VirtualDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualDoor"]);
                 }
             }
             
@@ -111805,23 +111848,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public VirtualDoorRow VirtualDoorRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Door"])));
+                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDoor_ScheduledItem_Door"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Door"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDoor_ScheduledItem_Door"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDoorRow VirtualDoorRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDoor_ScheduledItem_Door"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Door"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDoor_ScheduledItem_Door"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Door"]);
                 }
             }
             
@@ -112719,23 +112762,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public AccessPointRow AccessPointRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_AP"])));
+                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPoint_ScheduledItem_AP"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_AP"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPoint_ScheduledItem_AP"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public AccessPointRow AccessPointRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPoint_ScheduledItem_AP"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_AP"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPoint_ScheduledItem_AP"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_AP"]);
                 }
             }
             
@@ -112863,12 +112906,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIKeypadItemRow[] GetUIKeypadItemRowsByFK_Signal_UIKeypadItem2() {
-                if ((this.Table.ChildRelations["FK_Signal_UIKeypadItem2"] == null)) {
+            public UIKeypadItemRow[] GetUIKeypadItemRowsBySignal_UIKeypadItem1() {
+                if ((this.Table.ChildRelations["Signal_UIKeypadItem1"] == null)) {
                     return new UIKeypadItemRow[0];
                 }
                 else {
-                    return ((UIKeypadItemRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Signal_UIKeypadItem2"])));
+                    return ((UIKeypadItemRow[])(base.GetChildRows(this.Table.ChildRelations["Signal_UIKeypadItem1"])));
                 }
             }
             
@@ -112885,12 +112928,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIKeypadItemRow[] GetUIKeypadItemRowsBySignal_UIKeypadItem1() {
-                if ((this.Table.ChildRelations["Signal_UIKeypadItem1"] == null)) {
+            public UIKeypadItemRow[] GetUIKeypadItemRowsByFK_Signal_UIKeypadItem2() {
+                if ((this.Table.ChildRelations["FK_Signal_UIKeypadItem2"] == null)) {
                     return new UIKeypadItemRow[0];
                 }
                 else {
-                    return ((UIKeypadItemRow[])(base.GetChildRows(this.Table.ChildRelations["Signal_UIKeypadItem1"])));
+                    return ((UIKeypadItemRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Signal_UIKeypadItem2"])));
                 }
             }
             
@@ -112949,23 +112992,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyRow LogicalKeyRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalKeyRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKey_VirtualKey"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualKey"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKey_VirtualKey"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualKey"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalKeyRow LogicalKeyRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualKey"])));
+                    return ((LogicalKeyRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKey_VirtualKey"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualKey"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKey_VirtualKey"]);
                 }
             }
             
@@ -113084,23 +113127,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalLedRow LogicalLedRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualLed"])));
+                    return ((LogicalLedRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalLed_VirtualLed"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualLed"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalLed_VirtualLed"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalLedRow LogicalLedRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalLedRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalLed_VirtualLed"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualLed"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalLed_VirtualLed"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualLed"]);
                 }
             }
             
@@ -113379,23 +113422,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalPeripheralRow LogicalPeripheralRow {
+            public LogicalKeyboardReaderRow LogicalKeyboardReaderRow {
                 get {
-                    return ((LogicalPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPeripheral_UIKeypad"])));
+                    return ((LogicalKeyboardReaderRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKeyboardReader_UIKeypad"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPeripheral_UIKeypad"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKeyboardReader_UIKeypad"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalDisplayRow LogicalDisplayRow {
+            public UIKeypadRow UIKeypadRowParent {
                 get {
-                    return ((LogicalDisplayRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalDisplay_UIKeypad"])));
+                    return ((UIKeypadRow)(this.GetParentRow(this.Table.ParentRelations["FK_UIProxy_Keypad_UIProxy_Keypad"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalDisplay_UIKeypad"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_UIProxy_Keypad_UIProxy_Keypad"]);
                 }
             }
             
@@ -113412,23 +113455,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIKeypadRow UIKeypadRowParent {
+            public LogicalDisplayRow LogicalDisplayRow {
                 get {
-                    return ((UIKeypadRow)(this.GetParentRow(this.Table.ParentRelations["FK_UIProxy_Keypad_UIProxy_Keypad"])));
+                    return ((LogicalDisplayRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalDisplay_UIKeypad"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_UIProxy_Keypad_UIProxy_Keypad"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalDisplay_UIKeypad"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyboardReaderRow LogicalKeyboardReaderRow {
+            public LogicalPeripheralRow LogicalPeripheralRow {
                 get {
-                    return ((LogicalKeyboardReaderRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKeyboardReader_UIKeypad"])));
+                    return ((LogicalPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPeripheral_UIKeypad"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKeyboardReader_UIKeypad"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPeripheral_UIKeypad"]);
                 }
             }
             
@@ -113795,67 +113838,67 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalRow SignalRowByFK_Signal_UIKeypadItem2 {
+            public LogicalKeyRow LogicalKeyRow {
                 get {
-                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["FK_Signal_UIKeypadItem2"])));
+                    return ((LogicalKeyRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKey_UIKeypadItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Signal_UIKeypadItem2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKey_UIKeypadItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalRow SignalRowBySignal_UIKeypadItem {
+            public LogicalLedRow LogicalLedRow {
                 get {
-                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["Signal_UIKeypadItem"])));
+                    return ((LogicalLedRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalLed_UIKeypadItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Signal_UIKeypadItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalLed_UIKeypadItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalRow SignalRowBySignal_UIKeypadItem1 {
+            public UIProxyRow UIProxyRow {
                 get {
-                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["Signal_UIKeypadItem1"])));
+                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["UIKeypad_UIKeypadItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Signal_UIKeypadItem1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["UIKeypad_UIKeypadItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIProxyRow UIProxyRow {
+            public SignalRow SignalRowBySignal_UIKeypadItem1 {
                 get {
-                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["UIKeypad_UIKeypadItem"])));
+                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["Signal_UIKeypadItem1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["UIKeypad_UIKeypadItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Signal_UIKeypadItem1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalLedRow LogicalLedRow {
+            public SignalRow SignalRowBySignal_UIKeypadItem {
                 get {
-                    return ((LogicalLedRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalLed_UIKeypadItem"])));
+                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["Signal_UIKeypadItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalLed_UIKeypadItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Signal_UIKeypadItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyRow LogicalKeyRow {
+            public SignalRow SignalRowByFK_Signal_UIKeypadItem2 {
                 get {
-                    return ((LogicalKeyRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKey_UIKeypadItem"])));
+                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["FK_Signal_UIKeypadItem2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKey_UIKeypadItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Signal_UIKeypadItem2"]);
                 }
             }
             
@@ -114112,23 +114155,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIProxyRow UIProxyRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["FK_UIProxy_ScheduledItem_UIProxy"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_UIProxy"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_UIProxy_ScheduledItem_UIProxy"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_UIProxy"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public UIProxyRow UIProxyRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_UIProxy"])));
+                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["FK_UIProxy_ScheduledItem_UIProxy"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_UIProxy"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_UIProxy_ScheduledItem_UIProxy"]);
                 }
             }
             
@@ -115382,23 +115425,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_ScheduledItem_Partition"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Partition"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_ScheduledItem_Partition"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Partition"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Partition"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_ScheduledItem_Partition"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Partition"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_ScheduledItem_Partition"]);
                 }
             }
             
@@ -115522,23 +115565,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserGroupRow UserGroupRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["UserGroup_UserGroup_ScheduledItem"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["ScheduledItem_UserGroup_ScheduledItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["UserGroup_UserGroup_ScheduledItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["ScheduledItem_UserGroup_ScheduledItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public UserGroupRow UserGroupRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["ScheduledItem_UserGroup_ScheduledItem"])));
+                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["UserGroup_UserGroup_ScheduledItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["ScheduledItem_UserGroup_ScheduledItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["UserGroup_UserGroup_ScheduledItem"]);
                 }
             }
             
@@ -115635,23 +115678,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalWirelessPanicButtonRow LogicalWirelessPanicButtonRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualWirelessPanicButton"])));
+                    return ((LogicalWirelessPanicButtonRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualWirelessPanicButton"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalWirelessPanicButtonRow LogicalWirelessPanicButtonRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalWirelessPanicButtonRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualWirelessPanicButton"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualWirelessPanicButton"]);
                 }
             }
             
@@ -118926,23 +118969,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public MacroRow MacroRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Macro"])));
+                    return ((MacroRow)(this.GetParentRow(this.Table.ParentRelations["FK_Macro_ScheduledItem_Macro"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Macro"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Macro_ScheduledItem_Macro"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public MacroRow MacroRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((MacroRow)(this.GetParentRow(this.Table.ParentRelations["FK_Macro_ScheduledItem_Macro"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Macro"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Macro_ScheduledItem_Macro"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Macro"]);
                 }
             }
             
Index: ConfigApp.Data/InternalDataSet.xsd
===================================================================
--- ConfigApp.Data/InternalDataSet.xsd	(revision 3451)
+++ ConfigApp.Data/InternalDataSet.xsd	(working copy)
@@ -129,6 +129,7 @@
               <xs:element name="expName" msdata:ReadOnly="true" msdata:Expression="Parent(VirtualDoor_VirtualBusDoor).expName" msprop:Generator_ColumnVarNameInTable="columnexpName" msprop:Generator_ColumnPropNameInRow="expName" msprop:Generator_ColumnPropNameInTable="expNameColumn" msprop:Generator_UserColumnName="expName" type="xs:string" minOccurs="0" />
               <xs:element name="expOwner" msdata:ReadOnly="true" msdata:Expression="Parent(VirtualDoor_VirtualBusDoor).expOwner" msprop:Generator_ColumnVarNameInTable="columnexpOwner" msprop:Generator_ColumnPropNameInRow="expOwner" msprop:Generator_ColumnPropNameInTable="expOwnerColumn" msprop:Generator_UserColumnName="expOwner" type="xs:unsignedInt" minOccurs="0" />
               <xs:element name="expHWDeviceName" msdata:ReadOnly="true" msdata:Expression="Parent(LogicalDoor_VirtualBusDoor).expHWDeviceName" msprop:Generator_ColumnVarNameInTable="columnexpHWDeviceName" msprop:Generator_ColumnPropNameInRow="expHWDeviceName" msprop:Generator_ColumnPropNameInTable="expHWDeviceNameColumn" msprop:Generator_UserColumnName="expHWDeviceName" type="xs:string" minOccurs="0" />
+              <xs:element name="DatapointNumber" msprop:Generator_ColumnVarNameInTable="columnDatapointNumber" msprop:Generator_ColumnPropNameInRow="DatapointNumber" msprop:Generator_ColumnPropNameInTable="DatapointNumberColumn" msprop:Generator_UserColumnName="DatapointNumber" type="xs:int" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
         </xs:element>
@@ -2300,7 +2301,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="HWBus2SounderFlasherModule" msprop:Generator_TableClassName="HWBus2SounderFlasherModuleDataTable" msprop:Generator_TableVarName="tableHWBus2SounderFlasherModule" msprop:Generator_TablePropName="HWBus2SounderFlasherModule" msprop:Generator_RowDeletingName="HWBus2SounderFlasherModuleRowDeleting" msprop:Generator_RowChangingName="HWBus2SounderFlasherModuleRowChanging" msprop:Generator_RowEvHandlerName="HWBus2SounderFlasherModuleRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2SounderFlasherModuleRowDeleted" msprop:Generator_UserTableName="HWBus2SounderFlasherModule" msprop:Generator_RowChangedName="HWBus2SounderFlasherModuleRowChanged" msprop:Generator_RowEvArgName="HWBus2SounderFlasherModuleRowChangeEvent" msprop:Generator_RowClassName="HWBus2SounderFlasherModuleRow">
+        <xs:element name="HWBus2SounderFlasherModule" msprop:Generator_TableClassName="HWBus2SounderFlasherModuleDataTable" msprop:Generator_TableVarName="tableHWBus2SounderFlasherModule" msprop:Generator_RowChangedName="HWBus2SounderFlasherModuleRowChanged" msprop:Generator_TablePropName="HWBus2SounderFlasherModule" msprop:Generator_RowDeletingName="HWBus2SounderFlasherModuleRowDeleting" msprop:Generator_RowChangingName="HWBus2SounderFlasherModuleRowChanging" msprop:Generator_RowEvHandlerName="HWBus2SounderFlasherModuleRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2SounderFlasherModuleRowDeleted" msprop:Generator_RowClassName="HWBus2SounderFlasherModuleRow" msprop:Generator_UserTableName="HWBus2SounderFlasherModule" msprop:Generator_RowEvArgName="HWBus2SounderFlasherModuleRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2318,7 +2319,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="HWBus22RelaisInputModule" msprop:Generator_TableClassName="HWBus22RelaisInputModuleDataTable" msprop:Generator_TableVarName="tableHWBus22RelaisInputModule" msprop:Generator_TablePropName="HWBus22RelaisInputModule" msprop:Generator_RowDeletingName="HWBus22RelaisInputModuleRowDeleting" msprop:Generator_RowChangingName="HWBus22RelaisInputModuleRowChanging" msprop:Generator_RowEvHandlerName="HWBus22RelaisInputModuleRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus22RelaisInputModuleRowDeleted" msprop:Generator_UserTableName="HWBus22RelaisInputModule" msprop:Generator_RowChangedName="HWBus22RelaisInputModuleRowChanged" msprop:Generator_RowEvArgName="HWBus22RelaisInputModuleRowChangeEvent" msprop:Generator_RowClassName="HWBus22RelaisInputModuleRow">
+        <xs:element name="HWBus22RelaisInputModule" msprop:Generator_TableClassName="HWBus22RelaisInputModuleDataTable" msprop:Generator_TableVarName="tableHWBus22RelaisInputModule" msprop:Generator_RowChangedName="HWBus22RelaisInputModuleRowChanged" msprop:Generator_TablePropName="HWBus22RelaisInputModule" msprop:Generator_RowDeletingName="HWBus22RelaisInputModuleRowDeleting" msprop:Generator_RowChangingName="HWBus22RelaisInputModuleRowChanging" msprop:Generator_RowEvHandlerName="HWBus22RelaisInputModuleRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus22RelaisInputModuleRowDeleted" msprop:Generator_RowClassName="HWBus22RelaisInputModuleRow" msprop:Generator_UserTableName="HWBus22RelaisInputModule" msprop:Generator_RowEvArgName="HWBus22RelaisInputModuleRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2330,7 +2331,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="HWBus2PowerSupplyUnit" msprop:Generator_TableClassName="HWBus2PowerSupplyUnitDataTable" msprop:Generator_TableVarName="tableHWBus2PowerSupplyUnit" msprop:Generator_TablePropName="HWBus2PowerSupplyUnit" msprop:Generator_RowDeletingName="HWBus2PowerSupplyUnitRowDeleting" msprop:Generator_RowChangingName="HWBus2PowerSupplyUnitRowChanging" msprop:Generator_RowEvHandlerName="HWBus2PowerSupplyUnitRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2PowerSupplyUnitRowDeleted" msprop:Generator_UserTableName="HWBus2PowerSupplyUnit" msprop:Generator_RowChangedName="HWBus2PowerSupplyUnitRowChanged" msprop:Generator_RowEvArgName="HWBus2PowerSupplyUnitRowChangeEvent" msprop:Generator_RowClassName="HWBus2PowerSupplyUnitRow">
+        <xs:element name="HWBus2PowerSupplyUnit" msprop:Generator_TableClassName="HWBus2PowerSupplyUnitDataTable" msprop:Generator_TableVarName="tableHWBus2PowerSupplyUnit" msprop:Generator_RowChangedName="HWBus2PowerSupplyUnitRowChanged" msprop:Generator_TablePropName="HWBus2PowerSupplyUnit" msprop:Generator_RowDeletingName="HWBus2PowerSupplyUnitRowDeleting" msprop:Generator_RowChangingName="HWBus2PowerSupplyUnitRowChanging" msprop:Generator_RowEvHandlerName="HWBus2PowerSupplyUnitRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2PowerSupplyUnitRowDeleted" msprop:Generator_RowClassName="HWBus2PowerSupplyUnitRow" msprop:Generator_UserTableName="HWBus2PowerSupplyUnit" msprop:Generator_RowEvArgName="HWBus2PowerSupplyUnitRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2342,7 +2343,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_Macro" msprop:Generator_TableClassName="Trigger_MacroDataTable" msprop:Generator_TableVarName="tableTrigger_Macro" msprop:Generator_TablePropName="Trigger_Macro" msprop:Generator_RowDeletingName="Trigger_MacroRowDeleting" msprop:Generator_RowChangingName="Trigger_MacroRowChanging" msprop:Generator_RowEvHandlerName="Trigger_MacroRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_MacroRowDeleted" msprop:Generator_UserTableName="Trigger_Macro" msprop:Generator_RowChangedName="Trigger_MacroRowChanged" msprop:Generator_RowEvArgName="Trigger_MacroRowChangeEvent" msprop:Generator_RowClassName="Trigger_MacroRow">
+        <xs:element name="Trigger_Macro" msprop:Generator_TableClassName="Trigger_MacroDataTable" msprop:Generator_TableVarName="tableTrigger_Macro" msprop:Generator_RowChangedName="Trigger_MacroRowChanged" msprop:Generator_TablePropName="Trigger_Macro" msprop:Generator_RowDeletingName="Trigger_MacroRowDeleting" msprop:Generator_RowChangingName="Trigger_MacroRowChanging" msprop:Generator_RowEvHandlerName="Trigger_MacroRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_MacroRowDeleted" msprop:Generator_RowClassName="Trigger_MacroRow" msprop:Generator_UserTableName="Trigger_Macro" msprop:Generator_RowEvArgName="Trigger_MacroRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2350,7 +2351,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_PartitionMemberOmit" msprop:Generator_TableClassName="Trigger_PartitionMemberOmitDataTable" msprop:Generator_TableVarName="tableTrigger_PartitionMemberOmit" msprop:Generator_TablePropName="Trigger_PartitionMemberOmit" msprop:Generator_RowDeletingName="Trigger_PartitionMemberOmitRowDeleting" msprop:Generator_RowChangingName="Trigger_PartitionMemberOmitRowChanging" msprop:Generator_RowEvHandlerName="Trigger_PartitionMemberOmitRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_PartitionMemberOmitRowDeleted" msprop:Generator_UserTableName="Trigger_PartitionMemberOmit" msprop:Generator_RowChangedName="Trigger_PartitionMemberOmitRowChanged" msprop:Generator_RowEvArgName="Trigger_PartitionMemberOmitRowChangeEvent" msprop:Generator_RowClassName="Trigger_PartitionMemberOmitRow">
+        <xs:element name="Trigger_PartitionMemberOmit" msprop:Generator_TableClassName="Trigger_PartitionMemberOmitDataTable" msprop:Generator_TableVarName="tableTrigger_PartitionMemberOmit" msprop:Generator_RowChangedName="Trigger_PartitionMemberOmitRowChanged" msprop:Generator_TablePropName="Trigger_PartitionMemberOmit" msprop:Generator_RowDeletingName="Trigger_PartitionMemberOmitRowDeleting" msprop:Generator_RowChangingName="Trigger_PartitionMemberOmitRowChanging" msprop:Generator_RowEvHandlerName="Trigger_PartitionMemberOmitRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_PartitionMemberOmitRowDeleted" msprop:Generator_RowClassName="Trigger_PartitionMemberOmitRow" msprop:Generator_UserTableName="Trigger_PartitionMemberOmit" msprop:Generator_RowEvArgName="Trigger_PartitionMemberOmitRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2358,7 +2359,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="LicenseUsage" msprop:Generator_TableClassName="LicenseUsageDataTable" msprop:Generator_TableVarName="tableLicenseUsage" msprop:Generator_TablePropName="LicenseUsage" msprop:Generator_RowDeletingName="LicenseUsageRowDeleting" msprop:Generator_RowChangingName="LicenseUsageRowChanging" msprop:Generator_RowEvHandlerName="LicenseUsageRowChangeEventHandler" msprop:Generator_RowDeletedName="LicenseUsageRowDeleted" msprop:Generator_UserTableName="LicenseUsage" msprop:Generator_RowChangedName="LicenseUsageRowChanged" msprop:Generator_RowEvArgName="LicenseUsageRowChangeEvent" msprop:Generator_RowClassName="LicenseUsageRow">
+        <xs:element name="LicenseUsage" msprop:Generator_TableClassName="LicenseUsageDataTable" msprop:Generator_TableVarName="tableLicenseUsage" msprop:Generator_RowChangedName="LicenseUsageRowChanged" msprop:Generator_TablePropName="LicenseUsage" msprop:Generator_RowDeletingName="LicenseUsageRowDeleting" msprop:Generator_RowChangingName="LicenseUsageRowChanging" msprop:Generator_RowEvHandlerName="LicenseUsageRowChangeEventHandler" msprop:Generator_RowDeletedName="LicenseUsageRowDeleted" msprop:Generator_RowClassName="LicenseUsageRow" msprop:Generator_UserTableName="LicenseUsage" msprop:Generator_RowEvArgName="LicenseUsageRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="Partitions" msprop:Generator_ColumnVarNameInTable="columnPartitions" msprop:Generator_ColumnPropNameInRow="Partitions" msprop:Generator_ColumnPropNameInTable="PartitionsColumn" msprop:Generator_UserColumnName="Partitions" type="xs:int" default="0" minOccurs="0" />
@@ -2372,7 +2373,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="ContactID" msprop:Generator_TableClassName="ContactIDDataTable" msprop:Generator_TableVarName="tableContactID" msprop:Generator_RowChangedName="ContactIDRowChanged" msprop:Generator_TablePropName="ContactID" msprop:Generator_RowDeletingName="ContactIDRowDeleting" msprop:Generator_RowChangingName="ContactIDRowChanging" msprop:Generator_RowEvHandlerName="ContactIDRowChangeEventHandler" msprop:Generator_RowDeletedName="ContactIDRowDeleted" msprop:Generator_RowClassName="ContactIDRow" msprop:Generator_UserTableName="ContactID" msprop:Generator_RowEvArgName="ContactIDRowChangeEvent">
+        <xs:element name="ContactID" msprop:Generator_TableClassName="ContactIDDataTable" msprop:Generator_TableVarName="tableContactID" msprop:Generator_TablePropName="ContactID" msprop:Generator_RowDeletingName="ContactIDRowDeleting" msprop:Generator_RowChangingName="ContactIDRowChanging" msprop:Generator_RowEvHandlerName="ContactIDRowChangeEventHandler" msprop:Generator_RowDeletedName="ContactIDRowDeleted" msprop:Generator_UserTableName="ContactID" msprop:Generator_RowChangedName="ContactIDRowChanged" msprop:Generator_RowEvArgName="ContactIDRowChangeEvent" msprop:Generator_RowClassName="ContactIDRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2383,7 +2384,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="ContactIDEvent" msprop:Generator_TableClassName="ContactIDEventDataTable" msprop:Generator_TableVarName="tableContactIDEvent" msprop:Generator_RowChangedName="ContactIDEventRowChanged" msprop:Generator_TablePropName="ContactIDEvent" msprop:Generator_RowDeletingName="ContactIDEventRowDeleting" msprop:Generator_RowChangingName="ContactIDEventRowChanging" msprop:Generator_RowEvHandlerName="ContactIDEventRowChangeEventHandler" msprop:Generator_RowDeletedName="ContactIDEventRowDeleted" msprop:Generator_RowClassName="ContactIDEventRow" msprop:Generator_UserTableName="ContactIDEvent" msprop:Generator_RowEvArgName="ContactIDEventRowChangeEvent">
+        <xs:element name="ContactIDEvent" msprop:Generator_TableClassName="ContactIDEventDataTable" msprop:Generator_TableVarName="tableContactIDEvent" msprop:Generator_TablePropName="ContactIDEvent" msprop:Generator_RowDeletingName="ContactIDEventRowDeleting" msprop:Generator_RowChangingName="ContactIDEventRowChanging" msprop:Generator_RowEvHandlerName="ContactIDEventRowChangeEventHandler" msprop:Generator_RowDeletedName="ContactIDEventRowDeleted" msprop:Generator_UserTableName="ContactIDEvent" msprop:Generator_RowChangedName="ContactIDEventRowChanged" msprop:Generator_RowEvArgName="ContactIDEventRowChangeEvent" msprop:Generator_RowClassName="ContactIDEventRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2395,7 +2396,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_Counter" msprop:Generator_TableClassName="Trigger_CounterDataTable" msprop:Generator_TableVarName="tableTrigger_Counter" msprop:Generator_TablePropName="Trigger_Counter" msprop:Generator_RowDeletingName="Trigger_CounterRowDeleting" msprop:Generator_RowChangingName="Trigger_CounterRowChanging" msprop:Generator_RowEvHandlerName="Trigger_CounterRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_CounterRowDeleted" msprop:Generator_UserTableName="Trigger_Counter" msprop:Generator_RowChangedName="Trigger_CounterRowChanged" msprop:Generator_RowEvArgName="Trigger_CounterRowChangeEvent" msprop:Generator_RowClassName="Trigger_CounterRow">
+        <xs:element name="Trigger_Counter" msprop:Generator_TableClassName="Trigger_CounterDataTable" msprop:Generator_TableVarName="tableTrigger_Counter" msprop:Generator_RowChangedName="Trigger_CounterRowChanged" msprop:Generator_TablePropName="Trigger_Counter" msprop:Generator_RowDeletingName="Trigger_CounterRowDeleting" msprop:Generator_RowChangingName="Trigger_CounterRowChanging" msprop:Generator_RowEvHandlerName="Trigger_CounterRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_CounterRowDeleted" msprop:Generator_RowClassName="Trigger_CounterRow" msprop:Generator_UserTableName="Trigger_Counter" msprop:Generator_RowEvArgName="Trigger_CounterRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2405,7 +2406,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_User" msprop:Generator_TableClassName="Trigger_UserDataTable" msprop:Generator_TableVarName="tableTrigger_User" msprop:Generator_TablePropName="Trigger_User" msprop:Generator_RowDeletingName="Trigger_UserRowDeleting" msprop:Generator_RowChangingName="Trigger_UserRowChanging" msprop:Generator_RowEvHandlerName="Trigger_UserRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_UserRowDeleted" msprop:Generator_UserTableName="Trigger_User" msprop:Generator_RowChangedName="Trigger_UserRowChanged" msprop:Generator_RowEvArgName="Trigger_UserRowChangeEvent" msprop:Generator_RowClassName="Trigger_UserRow">
+        <xs:element name="Trigger_User" msprop:Generator_TableClassName="Trigger_UserDataTable" msprop:Generator_TableVarName="tableTrigger_User" msprop:Generator_RowChangedName="Trigger_UserRowChanged" msprop:Generator_TablePropName="Trigger_User" msprop:Generator_RowDeletingName="Trigger_UserRowDeleting" msprop:Generator_RowChangingName="Trigger_UserRowChanging" msprop:Generator_RowEvHandlerName="Trigger_UserRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_UserRowDeleted" msprop:Generator_RowClassName="Trigger_UserRow" msprop:Generator_UserTableName="Trigger_User" msprop:Generator_RowEvArgName="Trigger_UserRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2415,7 +2416,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Command_ISOMEvent" msprop:Generator_TableClassName="Command_ISOMEventDataTable" msprop:Generator_TableVarName="tableCommand_ISOMEvent" msprop:Generator_RowChangedName="Command_ISOMEventRowChanged" msprop:Generator_TablePropName="Command_ISOMEvent" msprop:Generator_RowDeletingName="Command_ISOMEventRowDeleting" msprop:Generator_RowChangingName="Command_ISOMEventRowChanging" msprop:Generator_RowEvHandlerName="Command_ISOMEventRowChangeEventHandler" msprop:Generator_RowDeletedName="Command_ISOMEventRowDeleted" msprop:Generator_RowClassName="Command_ISOMEventRow" msprop:Generator_UserTableName="Command_ISOMEvent" msprop:Generator_RowEvArgName="Command_ISOMEventRowChangeEvent">
+        <xs:element name="Command_ISOMEvent" msprop:Generator_TableClassName="Command_ISOMEventDataTable" msprop:Generator_TableVarName="tableCommand_ISOMEvent" msprop:Generator_TablePropName="Command_ISOMEvent" msprop:Generator_RowDeletingName="Command_ISOMEventRowDeleting" msprop:Generator_RowChangingName="Command_ISOMEventRowChanging" msprop:Generator_RowEvHandlerName="Command_ISOMEventRowChangeEventHandler" msprop:Generator_RowDeletedName="Command_ISOMEventRowDeleted" msprop:Generator_UserTableName="Command_ISOMEvent" msprop:Generator_RowChangedName="Command_ISOMEventRowChanged" msprop:Generator_RowEvArgName="Command_ISOMEventRowChangeEvent" msprop:Generator_RowClassName="Command_ISOMEventRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2423,7 +2424,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_PartitionAlarm" msprop:Generator_TableClassName="Trigger_PartitionAlarmDataTable" msprop:Generator_TableVarName="tableTrigger_PartitionAlarm" msprop:Generator_RowChangedName="Trigger_PartitionAlarmRowChanged" msprop:Generator_TablePropName="Trigger_PartitionAlarm" msprop:Generator_RowDeletingName="Trigger_PartitionAlarmRowDeleting" msprop:Generator_RowChangingName="Trigger_PartitionAlarmRowChanging" msprop:Generator_RowEvHandlerName="Trigger_PartitionAlarmRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_PartitionAlarmRowDeleted" msprop:Generator_RowClassName="Trigger_PartitionAlarmRow" msprop:Generator_UserTableName="Trigger_PartitionAlarm" msprop:Generator_RowEvArgName="Trigger_PartitionAlarmRowChangeEvent">
+        <xs:element name="Trigger_PartitionAlarm" msprop:Generator_TableClassName="Trigger_PartitionAlarmDataTable" msprop:Generator_TableVarName="tableTrigger_PartitionAlarm" msprop:Generator_TablePropName="Trigger_PartitionAlarm" msprop:Generator_RowDeletingName="Trigger_PartitionAlarmRowDeleting" msprop:Generator_RowChangingName="Trigger_PartitionAlarmRowChanging" msprop:Generator_RowEvHandlerName="Trigger_PartitionAlarmRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_PartitionAlarmRowDeleted" msprop:Generator_UserTableName="Trigger_PartitionAlarm" msprop:Generator_RowChangedName="Trigger_PartitionAlarmRowChanged" msprop:Generator_RowEvArgName="Trigger_PartitionAlarmRowChangeEvent" msprop:Generator_RowClassName="Trigger_PartitionAlarmRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2434,7 +2435,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="DatapointNumbers" msprop:Generator_TableClassName="DatapointNumbersDataTable" msprop:Generator_TableVarName="tableDatapointNumbers" msprop:Generator_RowChangedName="DatapointNumbersRowChanged" msprop:Generator_TablePropName="DatapointNumbers" msprop:Generator_RowDeletingName="DatapointNumbersRowDeleting" msprop:Generator_RowChangingName="DatapointNumbersRowChanging" msprop:Generator_RowEvHandlerName="DatapointNumbersRowChangeEventHandler" msprop:Generator_RowDeletedName="DatapointNumbersRowDeleted" msprop:Generator_RowClassName="DatapointNumbersRow" msprop:Generator_UserTableName="DatapointNumbers" msprop:Generator_RowEvArgName="DatapointNumbersRowChangeEvent">
+        <xs:element name="DatapointNumbers" msprop:Generator_TableClassName="DatapointNumbersDataTable" msprop:Generator_TableVarName="tableDatapointNumbers" msprop:Generator_TablePropName="DatapointNumbers" msprop:Generator_RowDeletingName="DatapointNumbersRowDeleting" msprop:Generator_RowChangingName="DatapointNumbersRowChanging" msprop:Generator_RowEvHandlerName="DatapointNumbersRowChangeEventHandler" msprop:Generator_RowDeletedName="DatapointNumbersRowDeleted" msprop:Generator_UserTableName="DatapointNumbers" msprop:Generator_RowChangedName="DatapointNumbersRowChanged" msprop:Generator_RowEvArgName="DatapointNumbersRowChangeEvent" msprop:Generator_RowClassName="DatapointNumbersRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="ItemUID" msprop:Generator_ColumnVarNameInTable="columnItemUID" msprop:Generator_ColumnPropNameInRow="ItemUID" msprop:Generator_ColumnPropNameInTable="ItemUIDColumn" msprop:Generator_UserColumnName="ItemUID" type="xs:unsignedInt" minOccurs="0" />
@@ -2446,7 +2447,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_SimpleFilter" msprop:Generator_TableClassName="Trigger_SimpleFilterDataTable" msprop:Generator_TableVarName="tableTrigger_SimpleFilter" msprop:Generator_TablePropName="Trigger_SimpleFilter" msprop:Generator_RowDeletingName="Trigger_SimpleFilterRowDeleting" msprop:Generator_RowChangingName="Trigger_SimpleFilterRowChanging" msprop:Generator_RowEvHandlerName="Trigger_SimpleFilterRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_SimpleFilterRowDeleted" msprop:Generator_UserTableName="Trigger_SimpleFilter" msprop:Generator_RowChangedName="Trigger_SimpleFilterRowChanged" msprop:Generator_RowEvArgName="Trigger_SimpleFilterRowChangeEvent" msprop:Generator_RowClassName="Trigger_SimpleFilterRow">
+        <xs:element name="Trigger_SimpleFilter" msprop:Generator_TableClassName="Trigger_SimpleFilterDataTable" msprop:Generator_TableVarName="tableTrigger_SimpleFilter" msprop:Generator_RowChangedName="Trigger_SimpleFilterRowChanged" msprop:Generator_TablePropName="Trigger_SimpleFilter" msprop:Generator_RowDeletingName="Trigger_SimpleFilterRowDeleting" msprop:Generator_RowChangingName="Trigger_SimpleFilterRowChanging" msprop:Generator_RowEvHandlerName="Trigger_SimpleFilterRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_SimpleFilterRowDeleted" msprop:Generator_RowClassName="Trigger_SimpleFilterRow" msprop:Generator_UserTableName="Trigger_SimpleFilter" msprop:Generator_RowEvArgName="Trigger_SimpleFilterRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2461,7 +2462,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="ControllerNumbers" msprop:Generator_TableClassName="ControllerNumbersDataTable" msprop:Generator_TableVarName="tableControllerNumbers" msprop:Generator_TablePropName="ControllerNumbers" msprop:Generator_RowDeletingName="ControllerNumbersRowDeleting" msprop:Generator_RowChangingName="ControllerNumbersRowChanging" msprop:Generator_RowEvHandlerName="ControllerNumbersRowChangeEventHandler" msprop:Generator_RowDeletedName="ControllerNumbersRowDeleted" msprop:Generator_UserTableName="ControllerNumbers" msprop:Generator_RowChangedName="ControllerNumbersRowChanged" msprop:Generator_RowEvArgName="ControllerNumbersRowChangeEvent" msprop:Generator_RowClassName="ControllerNumbersRow">
+        <xs:element name="ControllerNumbers" msprop:Generator_TableClassName="ControllerNumbersDataTable" msprop:Generator_TableVarName="tableControllerNumbers" msprop:Generator_RowChangedName="ControllerNumbersRowChanged" msprop:Generator_TablePropName="ControllerNumbers" msprop:Generator_RowDeletingName="ControllerNumbersRowDeleting" msprop:Generator_RowChangingName="ControllerNumbersRowChanging" msprop:Generator_RowEvHandlerName="ControllerNumbersRowChangeEventHandler" msprop:Generator_RowDeletedName="ControllerNumbersRowDeleted" msprop:Generator_RowClassName="ControllerNumbersRow" msprop:Generator_UserTableName="ControllerNumbers" msprop:Generator_RowEvArgName="ControllerNumbersRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="ControllerUID" msprop:Generator_ColumnVarNameInTable="columnControllerUID" msprop:Generator_ColumnPropNameInRow="ControllerUID" msprop:Generator_ColumnPropNameInTable="ControllerUIDColumn" msprop:Generator_UserColumnName="ControllerUID" type="xs:unsignedInt" minOccurs="0" />
@@ -2469,7 +2470,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="ScheduledItem_Macro" msprop:Generator_TableClassName="ScheduledItem_MacroDataTable" msprop:Generator_TableVarName="tableScheduledItem_Macro" msprop:Generator_RowChangedName="ScheduledItem_MacroRowChanged" msprop:Generator_TablePropName="ScheduledItem_Macro" msprop:Generator_RowDeletingName="ScheduledItem_MacroRowDeleting" msprop:Generator_RowChangingName="ScheduledItem_MacroRowChanging" msprop:Generator_RowEvHandlerName="ScheduledItem_MacroRowChangeEventHandler" msprop:Generator_RowDeletedName="ScheduledItem_MacroRowDeleted" msprop:Generator_RowClassName="ScheduledItem_MacroRow" msprop:Generator_UserTableName="ScheduledItem_Macro" msprop:Generator_RowEvArgName="ScheduledItem_MacroRowChangeEvent">
+        <xs:element name="ScheduledItem_Macro" msprop:Generator_TableClassName="ScheduledItem_MacroDataTable" msprop:Generator_TableVarName="tableScheduledItem_Macro" msprop:Generator_TablePropName="ScheduledItem_Macro" msprop:Generator_RowDeletingName="ScheduledItem_MacroRowDeleting" msprop:Generator_RowChangingName="ScheduledItem_MacroRowChanging" msprop:Generator_RowEvHandlerName="ScheduledItem_MacroRowChangeEventHandler" msprop:Generator_RowDeletedName="ScheduledItem_MacroRowDeleted" msprop:Generator_UserTableName="ScheduledItem_Macro" msprop:Generator_RowChangedName="ScheduledItem_MacroRowChanged" msprop:Generator_RowEvArgName="ScheduledItem_MacroRowChangeEvent" msprop:Generator_RowClassName="ScheduledItem_MacroRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2478,7 +2479,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="HWBus2DoorGuardIOMode" msprop:Generator_TableClassName="HWBus2DoorGuardIOModeDataTable" msprop:Generator_TableVarName="tableHWBus2DoorGuardIOMode" msprop:Generator_TablePropName="HWBus2DoorGuardIOMode" msprop:Generator_RowDeletingName="HWBus2DoorGuardIOModeRowDeleting" msprop:Generator_RowChangingName="HWBus2DoorGuardIOModeRowChanging" msprop:Generator_RowEvHandlerName="HWBus2DoorGuardIOModeRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2DoorGuardIOModeRowDeleted" msprop:Generator_UserTableName="HWBus2DoorGuardIOMode" msprop:Generator_RowChangedName="HWBus2DoorGuardIOModeRowChanged" msprop:Generator_RowEvArgName="HWBus2DoorGuardIOModeRowChangeEvent" msprop:Generator_RowClassName="HWBus2DoorGuardIOModeRow">
+        <xs:element name="HWBus2DoorGuardIOMode" msprop:Generator_TableClassName="HWBus2DoorGuardIOModeDataTable" msprop:Generator_TableVarName="tableHWBus2DoorGuardIOMode" msprop:Generator_RowChangedName="HWBus2DoorGuardIOModeRowChanged" msprop:Generator_TablePropName="HWBus2DoorGuardIOMode" msprop:Generator_RowDeletingName="HWBus2DoorGuardIOModeRowDeleting" msprop:Generator_RowChangingName="HWBus2DoorGuardIOModeRowChanging" msprop:Generator_RowEvHandlerName="HWBus2DoorGuardIOModeRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2DoorGuardIOModeRowDeleted" msprop:Generator_RowClassName="HWBus2DoorGuardIOModeRow" msprop:Generator_UserTableName="HWBus2DoorGuardIOMode" msprop:Generator_RowEvArgName="HWBus2DoorGuardIOModeRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:int" />
@@ -3260,1062 +3261,1062 @@
       <xs:selector xpath=".//mstns:HWBus2DoorGuardIOMode" />
       <xs:field xpath="mstns:UID" />
     </xs:unique>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Macro" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Macro" msprop:rel_Generator_ChildPropName="GetScheduledItem_MacroRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Macro" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Macro" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="FK_Macro_ScheduledItem_Macro" refer="Macro_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Macro" msprop:rel_Generator_ChildPropName="GetScheduledItem_MacroRows" msprop:rel_Generator_UserRelationName="FK_Macro_ScheduledItem_Macro" msprop:rel_Generator_ParentPropName="MacroRow" msprop:rel_Generator_RelationVarName="relationFK_Macro_ScheduledItem_Macro" msprop:rel_Generator_UserParentTable="Macro">
       <xs:selector xpath=".//mstns:ScheduledItem_Macro" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:MacroUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Macro_ScheduledItem_Macro" refer="Macro_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Macro" msprop:rel_Generator_ChildPropName="GetScheduledItem_MacroRows" msprop:rel_Generator_UserRelationName="FK_Macro_ScheduledItem_Macro" msprop:rel_Generator_RelationVarName="relationFK_Macro_ScheduledItem_Macro" msprop:rel_Generator_UserParentTable="Macro" msprop:rel_Generator_ParentPropName="MacroRow">
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Macro" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Macro" msprop:rel_Generator_ChildPropName="GetScheduledItem_MacroRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Macro" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Macro" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_Macro" />
-      <xs:field xpath="mstns:MacroUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_SimpleFilter" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_SimpleFilter" msprop:rel_Generator_ChildPropName="GetTrigger_SimpleFilterRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_SimpleFilter" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_SimpleFilter" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_SimpleFilter" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_SimpleFilter" msprop:rel_Generator_ChildPropName="GetTrigger_SimpleFilterRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_SimpleFilter" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_SimpleFilter" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_SimpleFilter" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_PartitionAlarm" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionAlarm" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionAlarmRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_PartitionAlarm" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_PartitionAlarm" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_PartitionAlarm" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionAlarm" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionAlarmRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_PartitionAlarm" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_PartitionAlarm" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_PartitionAlarm" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Command_Command_ISOMEvent" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_ISOMEvent" msprop:rel_Generator_ChildPropName="GetCommand_ISOMEventRows" msprop:rel_Generator_UserRelationName="FK_Command_Command_ISOMEvent" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationFK_Command_Command_ISOMEvent" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Command_Command_ISOMEvent" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_ISOMEvent" msprop:rel_Generator_ChildPropName="GetCommand_ISOMEventRows" msprop:rel_Generator_UserRelationName="FK_Command_Command_ISOMEvent" msprop:rel_Generator_RelationVarName="relationFK_Command_Command_ISOMEvent" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_ISOMEvent" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_User" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_User" msprop:rel_Generator_ChildPropName="GetTrigger_UserRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_User" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_User" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_User" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_User" msprop:rel_Generator_ChildPropName="GetTrigger_UserRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_User" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_User" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_User" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_Counter" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Counter" msprop:rel_Generator_ChildPropName="GetTrigger_CounterRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_Counter" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_Counter" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_Counter" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Counter" msprop:rel_Generator_ChildPropName="GetTrigger_CounterRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_Counter" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_Counter" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_Counter" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_AlarmDevice_ContactIDEvent" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="ContactIDEvent" msprop:rel_Generator_ChildPropName="GetContactIDEventRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_ContactIDEvent" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_ContactIDEvent" msprop:rel_Generator_UserParentTable="AlarmDevice" msprop:rel_Generator_ParentPropName="AlarmDeviceRow">
+    <xs:keyref name="FK_AlarmDevice_ContactIDEvent" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="ContactIDEvent" msprop:rel_Generator_ChildPropName="GetContactIDEventRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_ContactIDEvent" msprop:rel_Generator_ParentPropName="AlarmDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_ContactIDEvent" msprop:rel_Generator_UserParentTable="AlarmDevice">
       <xs:selector xpath=".//mstns:ContactIDEvent" />
       <xs:field xpath="mstns:AlarmDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AlarmDevice_ContactID" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="ContactID" msprop:rel_Generator_ChildPropName="GetContactIDRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_ContactID" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_ContactID" msprop:rel_Generator_UserParentTable="AlarmDevice" msprop:rel_Generator_ParentPropName="AlarmDeviceRow">
+    <xs:keyref name="FK_AlarmDevice_ContactID" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="ContactID" msprop:rel_Generator_ChildPropName="GetContactIDRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_ContactID" msprop:rel_Generator_ParentPropName="AlarmDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_ContactID" msprop:rel_Generator_UserParentTable="AlarmDevice">
       <xs:selector xpath=".//mstns:ContactID" />
       <xs:field xpath="mstns:AlarmDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_PartitionMemberOmit" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionMemberOmit" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionMemberOmitRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_PartitionMemberOmit" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_PartitionMemberOmit" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_PartitionMemberOmit" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionMemberOmit" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionMemberOmitRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_PartitionMemberOmit" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_PartitionMemberOmit" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_PartitionMemberOmit" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_Macro" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Macro" msprop:rel_Generator_ChildPropName="GetTrigger_MacroRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_Macro" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_Macro" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_Macro" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Macro" msprop:rel_Generator_ChildPropName="GetTrigger_MacroRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_Macro" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_Macro" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_Macro" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus2PowerSupplyUnit" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2PowerSupplyUnit" msprop:rel_Generator_ChildPropName="GetHWBus2PowerSupplyUnitRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2PowerSupplyUnit" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2PowerSupplyUnit" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="FK_HardwareDevice_HWBus2PowerSupplyUnit" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2PowerSupplyUnit" msprop:rel_Generator_ChildPropName="GetHWBus2PowerSupplyUnitRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2PowerSupplyUnit" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2PowerSupplyUnit" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus2PowerSupplyUnit" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus22RelaisInputModul" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus22RelaisInputModule" msprop:rel_Generator_ChildPropName="GetHWBus22RelaisInputModuleRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus22RelaisInputModul" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus22RelaisInputModul" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="FK_HardwareDevice_HWBus22RelaisInputModul" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus22RelaisInputModule" msprop:rel_Generator_ChildPropName="GetHWBus22RelaisInputModuleRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus22RelaisInputModul" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus22RelaisInputModul" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus22RelaisInputModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus2SounderFlasherModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SounderFlasherModule" msprop:rel_Generator_ChildPropName="GetHWBus2SounderFlasherModuleRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2SounderFlasherModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2SounderFlasherModule" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="FK_HardwareDevice_HWBus2SounderFlasherModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SounderFlasherModule" msprop:rel_Generator_ChildPropName="GetHWBus2SounderFlasherModuleRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2SounderFlasherModule" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2SounderFlasherModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus2SounderFlasherModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_Trigger_Timer" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Timer" msprop:rel_Generator_ChildPropName="GetTrigger_TimerRows" msprop:rel_Generator_UserRelationName="Trigger_Trigger_Timer" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_Trigger_Timer" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Trigger_Trigger_Timer" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Timer" msprop:rel_Generator_ChildPropName="GetTrigger_TimerRows" msprop:rel_Generator_UserRelationName="Trigger_Trigger_Timer" msprop:rel_Generator_RelationVarName="relationTrigger_Trigger_Timer" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_Timer" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_Sounder" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_Sounder" msprop:rel_Generator_ChildPropName="GetCommand_SounderRows" msprop:rel_Generator_UserRelationName="Command_Command_Sounder" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_Sounder" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_Sounder" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_Sounder" msprop:rel_Generator_ChildPropName="GetCommand_SounderRows" msprop:rel_Generator_UserRelationName="Command_Command_Sounder" msprop:rel_Generator_RelationVarName="relationCommand_Command_Sounder" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_Sounder" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_UIKey" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_UIKey" msprop:rel_Generator_ChildPropName="GetTrigger_UIKeyRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_UIKey" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_UIKey" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_UIKey" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_UIKey" msprop:rel_Generator_ChildPropName="GetTrigger_UIKeyRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_UIKey" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_UIKey" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_UIKey" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2ViewGuardDualMask" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardDualMask" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardDualMaskRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewGuardDualMask" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewGuardDualMask" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="HardwareDevice_HWBus2ViewGuardDualMask" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardDualMask" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardDualMaskRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewGuardDualMask" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewGuardDualMask" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:HWBus2ViewGuardDualMask" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2ViewGuardPIRMask" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardPIRMask" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardPIRMaskRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewGuardPIRMask" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewGuardPIRMask" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="HardwareDevice_HWBus2ViewGuardPIRMask" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardPIRMask" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardPIRMaskRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewGuardPIRMask" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewGuardPIRMask" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:HWBus2ViewGuardPIRMask" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalWirelessPanicButton" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetLogicalWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessPanicButton" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessPanicButton" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalWirelessPanicButton" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetLogicalWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessPanicButton" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessPanicButton" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalWirelessPanicButton" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDevice_VirtualWirelessPanicButton" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualWirelessPanicButton" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualWirelessPanicButton" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" refer="LogicalWirelessPanicButton_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" msprop:rel_Generator_ParentPropName="LogicalWirelessPanicButtonRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" msprop:rel_Generator_UserParentTable="LogicalWirelessPanicButton" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessPanicButton" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalRFPanicButtonUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" refer="LogicalWirelessPanicButton_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" msprop:rel_Generator_RelationVarName="relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" msprop:rel_Generator_UserParentTable="LogicalWirelessPanicButton" msprop:rel_Generator_ParentPropName="LogicalWirelessPanicButtonRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_VirtualDevice_VirtualWirelessPanicButton" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualWirelessPanicButton" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualWirelessPanicButton" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessPanicButton" />
-      <xs:field xpath="mstns:LogicalRFPanicButtonUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="UserGroup_UserGroup_ScheduledItem" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_ScheduledItem" msprop:rel_Generator_ChildPropName="GetUserGroup_ScheduledItemRows" msprop:rel_Generator_UserRelationName="UserGroup_UserGroup_ScheduledItem" msprop:rel_Generator_RelationVarName="relationUserGroup_UserGroup_ScheduledItem" msprop:rel_Generator_UserParentTable="UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow">
+    <xs:keyref name="ScheduledItem_UserGroup_ScheduledItem" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_ScheduledItem" msprop:rel_Generator_ChildPropName="GetUserGroup_ScheduledItemRows" msprop:rel_Generator_UserRelationName="ScheduledItem_UserGroup_ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationScheduledItem_UserGroup_ScheduledItem" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:UserGroup_ScheduledItem" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
+    </xs:keyref>
+    <xs:keyref name="UserGroup_UserGroup_ScheduledItem" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_ScheduledItem" msprop:rel_Generator_ChildPropName="GetUserGroup_ScheduledItemRows" msprop:rel_Generator_UserRelationName="UserGroup_UserGroup_ScheduledItem" msprop:rel_Generator_ParentPropName="UserGroupRow" msprop:rel_Generator_RelationVarName="relationUserGroup_UserGroup_ScheduledItem" msprop:rel_Generator_UserParentTable="UserGroup">
+      <xs:selector xpath=".//mstns:UserGroup_ScheduledItem" />
       <xs:field xpath="mstns:UserGroupUID" />
     </xs:keyref>
-    <xs:keyref name="ScheduledItem_UserGroup_ScheduledItem" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_ScheduledItem" msprop:rel_Generator_ChildPropName="GetUserGroup_ScheduledItemRows" msprop:rel_Generator_UserRelationName="ScheduledItem_UserGroup_ScheduledItem" msprop:rel_Generator_RelationVarName="relationScheduledItem_UserGroup_ScheduledItem" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
-      <xs:selector xpath=".//mstns:UserGroup_ScheduledItem" />
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Partition" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Partition" msprop:rel_Generator_ChildPropName="GetScheduledItem_PartitionRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Partition" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Partition" msprop:rel_Generator_UserParentTable="ScheduledItem">
+      <xs:selector xpath=".//mstns:ScheduledItem_Partition" />
       <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_ScheduledItem_Partition" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Partition" msprop:rel_Generator_ChildPropName="GetScheduledItem_PartitionRows" msprop:rel_Generator_UserRelationName="FK_Partition_ScheduledItem_Partition" msprop:rel_Generator_RelationVarName="relationFK_Partition_ScheduledItem_Partition" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_Partition_ScheduledItem_Partition" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Partition" msprop:rel_Generator_ChildPropName="GetScheduledItem_PartitionRows" msprop:rel_Generator_UserRelationName="FK_Partition_ScheduledItem_Partition" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_ScheduledItem_Partition" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:ScheduledItem_Partition" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Partition" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Partition" msprop:rel_Generator_ChildPropName="GetScheduledItem_PartitionRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Partition" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Partition" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
-      <xs:selector xpath=".//mstns:ScheduledItem_Partition" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
-    </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus2KeypadLCD" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2KeypadLCD" msprop:rel_Generator_ChildPropName="GetHWBus2KeypadLCDRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2KeypadLCD" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2KeypadLCD" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWBus2KeypadLCD" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2KeypadLCD" msprop:rel_Generator_ChildPropName="GetHWBus2KeypadLCDRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2KeypadLCD" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2KeypadLCD" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2KeypadLCD" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus2KeypadLED" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2KeypadLED" msprop:rel_Generator_ChildPropName="GetHWBus2KeypadLEDRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2KeypadLED" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2KeypadLED" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWBus2KeypadLED" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2KeypadLED" msprop:rel_Generator_ChildPropName="GetHWBus2KeypadLEDRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2KeypadLED" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2KeypadLED" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2KeypadLED" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_UIProxy_ScheduledItem_UIProxy" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_UIProxy" msprop:rel_Generator_ChildPropName="GetScheduledItem_UIProxyRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_ScheduledItem_UIProxy" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_ScheduledItem_UIProxy" msprop:rel_Generator_UserParentTable="UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow">
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_UIProxy" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_UIProxy" msprop:rel_Generator_ChildPropName="GetScheduledItem_UIProxyRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_UIProxy" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_UIProxy" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_UIProxy" />
-      <xs:field xpath="mstns:UIProxyUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_UIProxy" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_UIProxy" msprop:rel_Generator_ChildPropName="GetScheduledItem_UIProxyRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_UIProxy" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_UIProxy" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="FK_UIProxy_ScheduledItem_UIProxy" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_UIProxy" msprop:rel_Generator_ChildPropName="GetScheduledItem_UIProxyRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_ScheduledItem_UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_ScheduledItem_UIProxy" msprop:rel_Generator_UserParentTable="UIProxy">
       <xs:selector xpath=".//mstns:ScheduledItem_UIProxy" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:UIProxyUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalDevice_LogicalDisplay" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDisplay" msprop:rel_Generator_ChildPropName="GetLogicalDisplayRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalDisplay" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalDisplay" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="FK_LogicalDevice_LogicalDisplay" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDisplay" msprop:rel_Generator_ChildPropName="GetLogicalDisplayRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalDisplay" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalDisplay" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:LogicalDisplay" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Signal_UIKeypadItem2" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsByFK_Signal_UIKeypadItem2" msprop:rel_Generator_UserRelationName="FK_Signal_UIKeypadItem2" msprop:rel_Generator_RelationVarName="relationFK_Signal_UIKeypadItem2" msprop:rel_Generator_UserParentTable="Signal" msprop:rel_Generator_ParentPropName="SignalRowByFK_Signal_UIKeypadItem2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_LogicalKey_UIKeypadItem" refer="LogicalKey_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="FK_LogicalKey_UIKeypadItem" msprop:rel_Generator_ParentPropName="LogicalKeyRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalKey_UIKeypadItem" msprop:rel_Generator_UserParentTable="LogicalKey" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:GreenLed_SignalUID" />
+      <xs:field xpath="mstns:LogicalKeyUID" />
     </xs:keyref>
-    <xs:keyref name="Signal_UIKeypadItem" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsBySignal_UIKeypadItem" msprop:rel_Generator_UserRelationName="Signal_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationSignal_UIKeypadItem" msprop:rel_Generator_UserParentTable="Signal" msprop:rel_Generator_ParentPropName="SignalRowBySignal_UIKeypadItem" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_LogicalLed_UIKeypadItem" refer="LogicalLed_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="FK_LogicalLed_UIKeypadItem" msprop:rel_Generator_ParentPropName="LogicalLedRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalLed_UIKeypadItem" msprop:rel_Generator_UserParentTable="LogicalLed" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:RedLed_SignalUID" />
+      <xs:field xpath="mstns:LogicalLedUID" />
     </xs:keyref>
-    <xs:keyref name="Signal_UIKeypadItem1" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsBySignal_UIKeypadItem1" msprop:rel_Generator_UserRelationName="Signal_UIKeypadItem1" msprop:rel_Generator_RelationVarName="relationSignal_UIKeypadItem1" msprop:rel_Generator_UserParentTable="Signal" msprop:rel_Generator_ParentPropName="SignalRowBySignal_UIKeypadItem1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="UIKeypad_UIKeypadItem" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="UIKeypad_UIKeypadItem" msprop:rel_Generator_ParentPropName="UIProxyRow" msprop:rel_Generator_RelationVarName="relationUIKeypad_UIKeypadItem" msprop:rel_Generator_UserParentTable="UIProxy">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:YellowLed_SignalUID" />
+      <xs:field xpath="mstns:UIKeypadUID" />
     </xs:keyref>
-    <xs:keyref name="UIKeypad_UIKeypadItem" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="UIKeypad_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationUIKeypad_UIKeypadItem" msprop:rel_Generator_UserParentTable="UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow">
+    <xs:keyref name="Signal_UIKeypadItem1" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsBySignal_UIKeypadItem1" msprop:rel_Generator_UserRelationName="Signal_UIKeypadItem1" msprop:rel_Generator_ParentPropName="SignalRowBySignal_UIKeypadItem1" msprop:rel_Generator_RelationVarName="relationSignal_UIKeypadItem1" msprop:rel_Generator_UserParentTable="Signal" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:UIKeypadUID" />
+      <xs:field xpath="mstns:YellowLed_SignalUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalLed_UIKeypadItem" refer="LogicalLed_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="FK_LogicalLed_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationFK_LogicalLed_UIKeypadItem" msprop:rel_Generator_UserParentTable="LogicalLed" msprop:rel_Generator_ParentPropName="LogicalLedRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="Signal_UIKeypadItem" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsBySignal_UIKeypadItem" msprop:rel_Generator_UserRelationName="Signal_UIKeypadItem" msprop:rel_Generator_ParentPropName="SignalRowBySignal_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationSignal_UIKeypadItem" msprop:rel_Generator_UserParentTable="Signal" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:LogicalLedUID" />
+      <xs:field xpath="mstns:RedLed_SignalUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalKey_UIKeypadItem" refer="LogicalKey_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="FK_LogicalKey_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationFK_LogicalKey_UIKeypadItem" msprop:rel_Generator_UserParentTable="LogicalKey" msprop:rel_Generator_ParentPropName="LogicalKeyRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_Signal_UIKeypadItem2" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsByFK_Signal_UIKeypadItem2" msprop:rel_Generator_UserRelationName="FK_Signal_UIKeypadItem2" msprop:rel_Generator_ParentPropName="SignalRowByFK_Signal_UIKeypadItem2" msprop:rel_Generator_RelationVarName="relationFK_Signal_UIKeypadItem2" msprop:rel_Generator_UserParentTable="Signal" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:LogicalKeyUID" />
+      <xs:field xpath="mstns:GreenLed_SignalUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalPeripheral_UIKeypad" refer="LogicalPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="LogicalPeripheral_UIKeypad" msprop:rel_Generator_RelationVarName="relationLogicalPeripheral_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalPeripheral" msprop:rel_Generator_ParentPropName="LogicalPeripheralRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_LogicalKeyboardReader_UIKeypad" refer="LogicalKeyboardReader_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_LogicalKeyboardReader_UIKeypad" msprop:rel_Generator_ParentPropName="LogicalKeyboardReaderRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalKeyboardReader_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalKeyboardReader" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypad" />
-      <xs:field xpath="mstns:LogicalPeripheralUID" />
+      <xs:field xpath="mstns:LogicalKeyboardReaderUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalDisplay_UIKeypad" refer="LogicalDisplay_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_LogicalDisplay_UIKeypad" msprop:rel_Generator_RelationVarName="relationFK_LogicalDisplay_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalDisplay" msprop:rel_Generator_ParentPropName="LogicalDisplayRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_UIProxy_Keypad_UIProxy_Keypad" refer="UIKeypad_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_Keypad_UIProxy_Keypad" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_Keypad_UIProxy_Keypad" msprop:rel_Generator_UserParentTable="UIKeypad" msprop:rel_Generator_ParentPropName="UIKeypadRowParent" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypad" />
-      <xs:field xpath="mstns:LogicalDisplayUID" />
+      <xs:field xpath="mstns:OwnerKeypadUID" />
     </xs:keyref>
-    <xs:keyref name="UIProxy_UIKeypad" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="UIProxy_UIKeypad" msprop:rel_Generator_RelationVarName="relationUIProxy_UIKeypad" msprop:rel_Generator_UserParentTable="UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow">
+    <xs:keyref name="UIProxy_UIKeypad" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="UIProxy_UIKeypad" msprop:rel_Generator_ParentPropName="UIProxyRow" msprop:rel_Generator_RelationVarName="relationUIProxy_UIKeypad" msprop:rel_Generator_UserParentTable="UIProxy">
       <xs:selector xpath=".//mstns:UIKeypad" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_UIProxy_Keypad_UIProxy_Keypad" refer="UIKeypad_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_Keypad_UIProxy_Keypad" msprop:rel_Generator_ParentPropName="UIKeypadRowParent" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_Keypad_UIProxy_Keypad" msprop:rel_Generator_UserParentTable="UIKeypad" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_LogicalDisplay_UIKeypad" refer="LogicalDisplay_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_LogicalDisplay_UIKeypad" msprop:rel_Generator_ParentPropName="LogicalDisplayRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalDisplay_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalDisplay" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypad" />
-      <xs:field xpath="mstns:OwnerKeypadUID" />
+      <xs:field xpath="mstns:LogicalDisplayUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalKeyboardReader_UIKeypad" refer="LogicalKeyboardReader_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_LogicalKeyboardReader_UIKeypad" msprop:rel_Generator_RelationVarName="relationFK_LogicalKeyboardReader_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalKeyboardReader" msprop:rel_Generator_ParentPropName="LogicalKeyboardReaderRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalPeripheral_UIKeypad" refer="LogicalPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="LogicalPeripheral_UIKeypad" msprop:rel_Generator_ParentPropName="LogicalPeripheralRow" msprop:rel_Generator_RelationVarName="relationLogicalPeripheral_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalPeripheral" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypad" />
-      <xs:field xpath="mstns:LogicalKeyboardReaderUID" />
+      <xs:field xpath="mstns:LogicalPeripheralUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalDevice_LogicalLed" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalLed" msprop:rel_Generator_ChildPropName="GetLogicalLedRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalLed" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalLed" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_LogicalDevice_LogicalLed" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalLed" msprop:rel_Generator_ChildPropName="GetLogicalLedRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalLed" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalLed" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalLed" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDevice_VirtualLed" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualLed" msprop:rel_Generator_ChildPropName="GetVirtualLedRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualLed" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualLed" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_LogicalLed_VirtualLed" refer="LogicalLed_Constraint1" msprop:rel_Generator_UserChildTable="VirtualLed" msprop:rel_Generator_ChildPropName="GetVirtualLedRows" msprop:rel_Generator_UserRelationName="FK_LogicalLed_VirtualLed" msprop:rel_Generator_ParentPropName="LogicalLedRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalLed_VirtualLed" msprop:rel_Generator_UserParentTable="LogicalLed">
       <xs:selector xpath=".//mstns:VirtualLed" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalLedUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalLed_VirtualLed" refer="LogicalLed_Constraint1" msprop:rel_Generator_UserChildTable="VirtualLed" msprop:rel_Generator_ChildPropName="GetVirtualLedRows" msprop:rel_Generator_UserRelationName="FK_LogicalLed_VirtualLed" msprop:rel_Generator_RelationVarName="relationFK_LogicalLed_VirtualLed" msprop:rel_Generator_UserParentTable="LogicalLed" msprop:rel_Generator_ParentPropName="LogicalLedRow">
+    <xs:keyref name="FK_VirtualDevice_VirtualLed" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualLed" msprop:rel_Generator_ChildPropName="GetVirtualLedRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualLed" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualLed" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualLed" />
-      <xs:field xpath="mstns:LogicalLedUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalDevice_LogicalKey" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKey" msprop:rel_Generator_ChildPropName="GetLogicalKeyRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalKey" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalKey" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_LogicalDevice_LogicalKey" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKey" msprop:rel_Generator_ChildPropName="GetLogicalKeyRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalKey" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalKey" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalKey" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalKey_VirtualKey" refer="LogicalKey_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKey" msprop:rel_Generator_ChildPropName="GetVirtualKeyRows" msprop:rel_Generator_UserRelationName="FK_LogicalKey_VirtualKey" msprop:rel_Generator_RelationVarName="relationFK_LogicalKey_VirtualKey" msprop:rel_Generator_UserParentTable="LogicalKey" msprop:rel_Generator_ParentPropName="LogicalKeyRow">
+    <xs:keyref name="FK_VirtualDevice_VirtualKey" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKey" msprop:rel_Generator_ChildPropName="GetVirtualKeyRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualKey" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualKey" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualKey" />
-      <xs:field xpath="mstns:LogicalKeyUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDevice_VirtualKey" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKey" msprop:rel_Generator_ChildPropName="GetVirtualKeyRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualKey" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualKey" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="FK_LogicalKey_VirtualKey" refer="LogicalKey_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKey" msprop:rel_Generator_ChildPropName="GetVirtualKeyRows" msprop:rel_Generator_UserRelationName="FK_LogicalKey_VirtualKey" msprop:rel_Generator_ParentPropName="LogicalKeyRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalKey_VirtualKey" msprop:rel_Generator_UserParentTable="LogicalKey">
       <xs:selector xpath=".//mstns:VirtualKey" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalKeyUID" />
     </xs:keyref>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_AP" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_AP" msprop:rel_Generator_ChildPropName="GetScheduledItem_APRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_AP" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_AP" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="FK_AccessPoint_ScheduledItem_AP" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_AP" msprop:rel_Generator_ChildPropName="GetScheduledItem_APRows" msprop:rel_Generator_UserRelationName="FK_AccessPoint_ScheduledItem_AP" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationFK_AccessPoint_ScheduledItem_AP" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:ScheduledItem_AP" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AccessPoint_ScheduledItem_AP" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_AP" msprop:rel_Generator_ChildPropName="GetScheduledItem_APRows" msprop:rel_Generator_UserRelationName="FK_AccessPoint_ScheduledItem_AP" msprop:rel_Generator_RelationVarName="relationFK_AccessPoint_ScheduledItem_AP" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_AP" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_AP" msprop:rel_Generator_ChildPropName="GetScheduledItem_APRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_AP" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_AP" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_AP" />
-      <xs:field xpath="mstns:AccessPointUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_SoundingFaultTypes" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="SoundingFaultTypes" msprop:rel_Generator_ChildPropName="GetSoundingFaultTypesRows" msprop:rel_Generator_UserRelationName="FK_Partition_SoundingFaultTypes" msprop:rel_Generator_RelationVarName="relationFK_Partition_SoundingFaultTypes" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_Partition_SoundingFaultTypes" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="SoundingFaultTypes" msprop:rel_Generator_ChildPropName="GetSoundingFaultTypesRows" msprop:rel_Generator_UserRelationName="FK_Partition_SoundingFaultTypes" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_SoundingFaultTypes" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:SoundingFaultTypes" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2ViewguardDual" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardDual" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardDualRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewguardDual" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewguardDual" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="HardwareDevice_HWBus2ViewguardDual" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardDual" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardDualRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewguardDual" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewguardDual" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus2ViewGuardDual" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Door" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Door" msprop:rel_Generator_ChildPropName="GetScheduledItem_DoorRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Door" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Door" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="FK_VirtualDoor_ScheduledItem_Door" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Door" msprop:rel_Generator_ChildPropName="GetScheduledItem_DoorRows" msprop:rel_Generator_UserRelationName="FK_VirtualDoor_ScheduledItem_Door" msprop:rel_Generator_ParentPropName="VirtualDoorRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDoor_ScheduledItem_Door" msprop:rel_Generator_UserParentTable="VirtualDoor">
       <xs:selector xpath=".//mstns:ScheduledItem_Door" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:DoorUID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDoor_ScheduledItem_Door" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Door" msprop:rel_Generator_ChildPropName="GetScheduledItem_DoorRows" msprop:rel_Generator_UserRelationName="FK_VirtualDoor_ScheduledItem_Door" msprop:rel_Generator_RelationVarName="relationFK_VirtualDoor_ScheduledItem_Door" msprop:rel_Generator_UserParentTable="VirtualDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow">
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Door" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Door" msprop:rel_Generator_ChildPropName="GetScheduledItem_DoorRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Door" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Door" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_Door" />
-      <xs:field xpath="mstns:DoorUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualDoor" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDoor" msprop:rel_Generator_ChildPropName="GetVirtualDoorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualDoor" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualDoor" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="DetectorGroup_VirtualDoor" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDoor" msprop:rel_Generator_ChildPropName="GetVirtualDoorRows" msprop:rel_Generator_UserRelationName="DetectorGroup_VirtualDoor" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msprop:rel_Generator_RelationVarName="relationDetectorGroup_VirtualDoor" msprop:rel_Generator_UserParentTable="PartitionMember" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualDoor" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:SecondaryOwner" />
     </xs:keyref>
-    <xs:keyref name="DetectorGroup_VirtualDoor" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDoor" msprop:rel_Generator_ChildPropName="GetVirtualDoorRows" msprop:rel_Generator_UserRelationName="DetectorGroup_VirtualDoor" msprop:rel_Generator_RelationVarName="relationDetectorGroup_VirtualDoor" msprop:rel_Generator_UserParentTable="PartitionMember" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="VirtualDevice_VirtualDoor" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDoor" msprop:rel_Generator_ChildPropName="GetVirtualDoorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualDoor" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualDoor" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualDoor" />
-      <xs:field xpath="mstns:SecondaryOwner" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualPIR" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPIR" msprop:rel_Generator_ChildPropName="GetVirtualPIRRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualPIR" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualPIR" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="VirtualDevice_VirtualPIR" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPIR" msprop:rel_Generator_ChildPropName="GetVirtualPIRRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualPIR" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualPIR" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualPIR" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualSounder_Partition_LocalSounder" refer="VirtualSounder_Constraint1" msprop:rel_Generator_UserChildTable="Partition_LocalSounder" msprop:rel_Generator_ChildPropName="GetPartition_LocalSounderRows" msprop:rel_Generator_UserRelationName="VirtualSounder_Partition_LocalSounder" msprop:rel_Generator_RelationVarName="relationVirtualSounder_Partition_LocalSounder" msprop:rel_Generator_UserParentTable="VirtualSounder" msprop:rel_Generator_ParentPropName="VirtualSounderRow">
+    <xs:keyref name="Partition_Partition_LocalSounder" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="Partition_LocalSounder" msprop:rel_Generator_ChildPropName="GetPartition_LocalSounderRows" msprop:rel_Generator_UserRelationName="Partition_Partition_LocalSounder" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_Partition_LocalSounder" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:Partition_LocalSounder" />
-      <xs:field xpath="mstns:LocalSounderUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_Partition_LocalSounder" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="Partition_LocalSounder" msprop:rel_Generator_ChildPropName="GetPartition_LocalSounderRows" msprop:rel_Generator_UserRelationName="Partition_Partition_LocalSounder" msprop:rel_Generator_RelationVarName="relationPartition_Partition_LocalSounder" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="VirtualSounder_Partition_LocalSounder" refer="VirtualSounder_Constraint1" msprop:rel_Generator_UserChildTable="Partition_LocalSounder" msprop:rel_Generator_ChildPropName="GetPartition_LocalSounderRows" msprop:rel_Generator_UserRelationName="VirtualSounder_Partition_LocalSounder" msprop:rel_Generator_ParentPropName="VirtualSounderRow" msprop:rel_Generator_RelationVarName="relationVirtualSounder_Partition_LocalSounder" msprop:rel_Generator_UserParentTable="VirtualSounder">
       <xs:selector xpath=".//mstns:Partition_LocalSounder" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:LocalSounderUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_StoredFaultTypes" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="StoredFaultTypes" msprop:rel_Generator_ChildPropName="GetStoredFaultTypesRows" msprop:rel_Generator_UserRelationName="FK_Partition_StoredFaultTypes" msprop:rel_Generator_RelationVarName="relationFK_Partition_StoredFaultTypes" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_Partition_StoredFaultTypes" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="StoredFaultTypes" msprop:rel_Generator_ChildPropName="GetStoredFaultTypesRows" msprop:rel_Generator_UserRelationName="FK_Partition_StoredFaultTypes" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_StoredFaultTypes" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:StoredFaultTypes" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_PartitionDependency" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionDependency" msprop:rel_Generator_ChildPropName="GetPartitionDependencyRows" msprop:rel_Generator_UserRelationName="FK_Partition_PartitionDependency" msprop:rel_Generator_RelationVarName="relationFK_Partition_PartitionDependency" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_Partition_PartitionDependency1" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionDependency" msprop:rel_Generator_ChildPropName="GetPartitionDependencyRowsByFK_Partition_PartitionDependency1" msprop:rel_Generator_UserRelationName="FK_Partition_PartitionDependency1" msprop:rel_Generator_ParentPropName="PartitionRowByFK_Partition_PartitionDependency1" msprop:rel_Generator_RelationVarName="relationFK_Partition_PartitionDependency1" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PartitionDependency" />
-      <xs:field xpath="mstns:ParentPartitionUID" />
+      <xs:field xpath="mstns:ChildPartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_PartitionDependency1" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionDependency" msprop:rel_Generator_ChildPropName="GetPartitionDependencyRowsByFK_Partition_PartitionDependency1" msprop:rel_Generator_UserRelationName="FK_Partition_PartitionDependency1" msprop:rel_Generator_RelationVarName="relationFK_Partition_PartitionDependency1" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRowByFK_Partition_PartitionDependency1">
+    <xs:keyref name="FK_Partition_PartitionDependency" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionDependency" msprop:rel_Generator_ChildPropName="GetPartitionDependencyRows" msprop:rel_Generator_UserRelationName="FK_Partition_PartitionDependency" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_PartitionDependency" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PartitionDependency" />
-      <xs:field xpath="mstns:ChildPartitionUID" />
+      <xs:field xpath="mstns:ParentPartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_UIProxy_UIProxy_Partition" refer="UITouchCenter_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter_Partition" msprop:rel_Generator_ChildPropName="GetUITouchCenter_PartitionRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_UIProxy_Partition" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_UIProxy_Partition" msprop:rel_Generator_UserParentTable="UITouchCenter" msprop:rel_Generator_ParentPropName="UIProxy_TouchCenterRow">
+    <xs:keyref name="FK_UIProxy_UIProxy_Partition" refer="UITouchCenter_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter_Partition" msprop:rel_Generator_ChildPropName="GetUITouchCenter_PartitionRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_UIProxy_Partition" msprop:rel_Generator_ParentPropName="UIProxy_TouchCenterRow" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_UIProxy_Partition" msprop:rel_Generator_UserParentTable="UITouchCenter">
       <xs:selector xpath=".//mstns:UITouchCenter_Partition" />
       <xs:field xpath="mstns:UIProxyUID" />
     </xs:keyref>
-    <xs:keyref name="UIProxy_UITouchCenter" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter" msprop:rel_Generator_ChildPropName="GetUITouchCenterRows" msprop:rel_Generator_UserRelationName="UIProxy_UITouchCenter" msprop:rel_Generator_RelationVarName="relationUIProxy_UITouchCenter" msprop:rel_Generator_UserParentTable="UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalSmartUI_UIProxyTouchCenter" refer="LogicalSmartUI_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter" msprop:rel_Generator_ChildPropName="GetUITouchCenterRows" msprop:rel_Generator_UserRelationName="LogicalSmartUI_UIProxyTouchCenter" msprop:rel_Generator_ParentPropName="LogicalSmartUIRow" msprop:rel_Generator_RelationVarName="relationLogicalSmartUI_UIProxyTouchCenter" msprop:rel_Generator_UserParentTable="LogicalSmartUI" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UITouchCenter" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalSmartUI_UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalSmartUI_UIProxyTouchCenter" refer="LogicalSmartUI_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter" msprop:rel_Generator_ChildPropName="GetUITouchCenterRows" msprop:rel_Generator_UserRelationName="LogicalSmartUI_UIProxyTouchCenter" msprop:rel_Generator_RelationVarName="relationLogicalSmartUI_UIProxyTouchCenter" msprop:rel_Generator_UserParentTable="LogicalSmartUI" msprop:rel_Generator_ParentPropName="LogicalSmartUIRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="UIProxy_UITouchCenter" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter" msprop:rel_Generator_ChildPropName="GetUITouchCenterRows" msprop:rel_Generator_UserRelationName="UIProxy_UITouchCenter" msprop:rel_Generator_ParentPropName="UIProxyRow" msprop:rel_Generator_RelationVarName="relationUIProxy_UITouchCenter" msprop:rel_Generator_UserParentTable="UIProxy" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:UITouchCenter" />
-      <xs:field xpath="mstns:LogicalSmartUI_UID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_UIProxy" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="UIProxy" msprop:rel_Generator_ChildPropName="GetUIProxyRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_UIProxy" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_UIProxy" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="FK_HardwareDevice_UIProxy" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="UIProxy" msprop:rel_Generator_ChildPropName="GetUIProxyRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_UIProxy" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_UIProxy" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:UIProxy" />
       <xs:field xpath="mstns:HardwareDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWAnalogInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWAnalogInput" msprop:rel_Generator_ChildPropName="GetHWAnalogInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWAnalogInput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWAnalogInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWAnalogInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWAnalogInput" msprop:rel_Generator_ChildPropName="GetHWAnalogInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWAnalogInput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWAnalogInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWAnalogInput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWSPIOutput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSPIOutput" msprop:rel_Generator_ChildPropName="GetHWSPIOutputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWSPIOutput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWSPIOutput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWSPIOutput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSPIOutput" msprop:rel_Generator_ChildPropName="GetHWSPIOutputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWSPIOutput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWSPIOutput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSPIOutput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWSPIInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSPIInput" msprop:rel_Generator_ChildPropName="GetHWSPIInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWSPIInput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWSPIInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWSPIInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSPIInput" msprop:rel_Generator_ChildPropName="GetHWSPIInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWSPIInput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWSPIInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSPIInput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWGPIOOutput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWGPIOOutput" msprop:rel_Generator_ChildPropName="GetHWGPIOOutputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWGPIOOutput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWGPIOOutput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWGPIOOutput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWGPIOOutput" msprop:rel_Generator_ChildPropName="GetHWGPIOOutputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWGPIOOutput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWGPIOOutput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWGPIOOutput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWGPIOInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWGPIOInput" msprop:rel_Generator_ChildPropName="GetHWGPIOInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWGPIOInput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWGPIOInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWGPIOInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWGPIOInput" msprop:rel_Generator_ChildPropName="GetHWGPIOInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWGPIOInput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWGPIOInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWGPIOInput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualCarbonMonoxide" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetVirtualCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualCarbonMonoxide" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualCarbonMonoxide" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalCarbonMonoxide_VirtualCarbonMonoxide" refer="LogicalCarbonMonoxide_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetVirtualCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="LogicalCarbonMonoxide_VirtualCarbonMonoxide" msprop:rel_Generator_ParentPropName="LogicalCarbonMonoxideRow" msprop:rel_Generator_RelationVarName="relationLogicalCarbonMonoxide_VirtualCarbonMonoxide" msprop:rel_Generator_UserParentTable="LogicalCarbonMonoxide" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualCarbonMonoxide" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalCarbonMonoxideUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalCarbonMonoxide_VirtualCarbonMonoxide" refer="LogicalCarbonMonoxide_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetVirtualCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="LogicalCarbonMonoxide_VirtualCarbonMonoxide" msprop:rel_Generator_RelationVarName="relationLogicalCarbonMonoxide_VirtualCarbonMonoxide" msprop:rel_Generator_UserParentTable="LogicalCarbonMonoxide" msprop:rel_Generator_ParentPropName="LogicalCarbonMonoxideRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualCarbonMonoxide" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetVirtualCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualCarbonMonoxide" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualCarbonMonoxide" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualCarbonMonoxide" />
-      <xs:field xpath="mstns:LogicalCarbonMonoxideUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalCarbonMonoxide" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetLogicalCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalCarbonMonoxide" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalCarbonMonoxide" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalCarbonMonoxide" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetLogicalCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalCarbonMonoxide" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalCarbonMonoxide" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalCarbonMonoxide" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualWirelessPeripheral" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWirelessPeripheral" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWirelessPeripheral" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalWirelessPeripheral_VirtualWirelessPeripheral" refer="LogicalWirelessPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalWirelessPeripheral_VirtualWirelessPeripheral" msprop:rel_Generator_ParentPropName="LogicalWirelessPeripheralRow" msprop:rel_Generator_RelationVarName="relationLogicalWirelessPeripheral_VirtualWirelessPeripheral" msprop:rel_Generator_UserParentTable="LogicalWirelessPeripheral" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessPeripheral" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalWirelessPeripheralUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalWirelessPeripheral_VirtualWirelessPeripheral" refer="LogicalWirelessPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalWirelessPeripheral_VirtualWirelessPeripheral" msprop:rel_Generator_RelationVarName="relationLogicalWirelessPeripheral_VirtualWirelessPeripheral" msprop:rel_Generator_UserParentTable="LogicalWirelessPeripheral" msprop:rel_Generator_ParentPropName="LogicalWirelessPeripheralRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualWirelessPeripheral" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWirelessPeripheral" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWirelessPeripheral" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessPeripheral" />
-      <xs:field xpath="mstns:LogicalWirelessPeripheralUID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualWirelessMaster" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessMaster" msprop:rel_Generator_ChildPropName="GetVirtualWirelessMasterRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWirelessMaster" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWirelessMaster" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
-      <xs:selector xpath=".//mstns:VirtualWirelessMaster" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalWirelessMaster_VirtualWirelessMaster" refer="LogicalWirelessMaster_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessMaster" msprop:rel_Generator_ChildPropName="GetVirtualWirelessMasterRows" msprop:rel_Generator_UserRelationName="LogicalWirelessMaster_VirtualWirelessMaster" msprop:rel_Generator_RelationVarName="relationLogicalWirelessMaster_VirtualWirelessMaster" msprop:rel_Generator_UserParentTable="LogicalWirelessMaster" msprop:rel_Generator_ParentPropName="LogicalWirelessMasterRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalWirelessMaster_VirtualWirelessMaster" refer="LogicalWirelessMaster_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessMaster" msprop:rel_Generator_ChildPropName="GetVirtualWirelessMasterRows" msprop:rel_Generator_UserRelationName="LogicalWirelessMaster_VirtualWirelessMaster" msprop:rel_Generator_ParentPropName="LogicalWirelessMasterRow" msprop:rel_Generator_RelationVarName="relationLogicalWirelessMaster_VirtualWirelessMaster" msprop:rel_Generator_UserParentTable="LogicalWirelessMaster" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessMaster" />
       <xs:field xpath="mstns:LogicalWirelessMasterUID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_Trigger_SingleEvent" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_SingleEvent" msprop:rel_Generator_ChildPropName="GetTrigger_SingleEventRows" msprop:rel_Generator_UserRelationName="Trigger_Trigger_SingleEvent" msprop:rel_Generator_RelationVarName="relationTrigger_Trigger_SingleEvent" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualWirelessMaster" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessMaster" msprop:rel_Generator_ChildPropName="GetVirtualWirelessMasterRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWirelessMaster" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWirelessMaster" msprop:rel_Generator_UserParentTable="VirtualDevice">
+      <xs:selector xpath=".//mstns:VirtualWirelessMaster" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="Trigger_Trigger_SingleEvent" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_SingleEvent" msprop:rel_Generator_ChildPropName="GetTrigger_SingleEventRows" msprop:rel_Generator_UserRelationName="Trigger_Trigger_SingleEvent" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_Trigger_SingleEvent" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_SingleEvent" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_SimpleTrigger" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Simple" msprop:rel_Generator_ChildPropName="GetTrigger_SimpleRows" msprop:rel_Generator_UserRelationName="Trigger_SimpleTrigger" msprop:rel_Generator_RelationVarName="relationTrigger_SimpleTrigger" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Trigger_SimpleTrigger" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Simple" msprop:rel_Generator_ChildPropName="GetTrigger_SimpleRows" msprop:rel_Generator_UserRelationName="Trigger_SimpleTrigger" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_SimpleTrigger" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_Simple" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWSerialDS9500" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS9500" msprop:rel_Generator_ChildPropName="GetHWSerialDS9500Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS9500" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS9500" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWSerialDS9500" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS9500" msprop:rel_Generator_ChildPropName="GetHWSerialDS9500Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS9500" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS9500" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS9500" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWSerialDS7600" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS7600" msprop:rel_Generator_ChildPropName="GetHWSerialDS7600Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS7600" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS7600" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWSerialDS7600" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS7600" msprop:rel_Generator_ChildPropName="GetHWSerialDS7600Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS7600" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS7600" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS7600" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWSerialDS6750" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6750" msprop:rel_Generator_ChildPropName="GetHWSerialDS6750Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS6750" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS6750" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWSerialDS6750" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6750" msprop:rel_Generator_ChildPropName="GetHWSerialDS6750Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS6750" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS6750" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS6750" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWSerialDS6700" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6700" msprop:rel_Generator_ChildPropName="GetHWSerialDS6700Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS6700" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS6700" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWSerialDS6700" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6700" msprop:rel_Generator_ChildPropName="GetHWSerialDS6700Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS6700" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS6700" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS6700" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_AlarmDevice_Channel" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="Channel" msprop:rel_Generator_ChildPropName="GetChannelRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_Channel" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_Channel" msprop:rel_Generator_UserParentTable="AlarmDevice" msprop:rel_Generator_ParentPropName="AlarmDeviceRow">
+    <xs:keyref name="FK_AlarmDevice_Channel" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="Channel" msprop:rel_Generator_ChildPropName="GetChannelRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_Channel" msprop:rel_Generator_ParentPropName="AlarmDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_Channel" msprop:rel_Generator_UserParentTable="AlarmDevice">
       <xs:selector xpath=".//mstns:Channel" />
       <xs:field xpath="mstns:AlarmDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_AlarmDevice_FaultPartition" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice_FaultPartition" msprop:rel_Generator_ChildPropName="GetAlarmDevice_FaultPartitionRows" msprop:rel_Generator_UserRelationName="FK_Partition_AlarmDevice_FaultPartition" msprop:rel_Generator_RelationVarName="relationFK_Partition_AlarmDevice_FaultPartition" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_AlarmDevice_AlarmDevice_FaultPartition" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice_FaultPartition" msprop:rel_Generator_ChildPropName="GetAlarmDevice_FaultPartitionRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_AlarmDevice_FaultPartition" msprop:rel_Generator_ParentPropName="AlarmDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_AlarmDevice_FaultPartition" msprop:rel_Generator_UserParentTable="AlarmDevice">
       <xs:selector xpath=".//mstns:AlarmDevice_FaultPartition" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:AlarmDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AlarmDevice_AlarmDevice_FaultPartition" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice_FaultPartition" msprop:rel_Generator_ChildPropName="GetAlarmDevice_FaultPartitionRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_AlarmDevice_FaultPartition" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_AlarmDevice_FaultPartition" msprop:rel_Generator_UserParentTable="AlarmDevice" msprop:rel_Generator_ParentPropName="AlarmDeviceRow">
+    <xs:keyref name="FK_Partition_AlarmDevice_FaultPartition" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice_FaultPartition" msprop:rel_Generator_ChildPropName="GetAlarmDevice_FaultPartitionRows" msprop:rel_Generator_UserRelationName="FK_Partition_AlarmDevice_FaultPartition" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_AlarmDevice_FaultPartition" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:AlarmDevice_FaultPartition" />
-      <xs:field xpath="mstns:AlarmDeviceUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDSDevice_AlarmDevice" refer="VirtualDSDevice_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice" msprop:rel_Generator_ChildPropName="GetAlarmDeviceRows" msprop:rel_Generator_UserRelationName="FK_VirtualDSDevice_AlarmDevice" msprop:rel_Generator_ParentPropName="VirtualDSDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDSDevice_AlarmDevice" msprop:rel_Generator_UserParentTable="VirtualDSDevice">
+    <xs:keyref name="FK_Partition_AlarmDevice" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice" msprop:rel_Generator_ChildPropName="GetAlarmDeviceRows" msprop:rel_Generator_UserRelationName="FK_Partition_AlarmDevice" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_AlarmDevice" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:AlarmDevice" />
-      <xs:field xpath="mstns:VirtualDSDeviceUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_AlarmDevice" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice" msprop:rel_Generator_ChildPropName="GetAlarmDeviceRows" msprop:rel_Generator_UserRelationName="FK_Partition_AlarmDevice" msprop:rel_Generator_RelationVarName="relationFK_Partition_AlarmDevice" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_VirtualDSDevice_AlarmDevice" refer="VirtualDSDevice_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice" msprop:rel_Generator_ChildPropName="GetAlarmDeviceRows" msprop:rel_Generator_UserRelationName="FK_VirtualDSDevice_AlarmDevice" msprop:rel_Generator_RelationVarName="relationFK_VirtualDSDevice_AlarmDevice" msprop:rel_Generator_UserParentTable="VirtualDSDevice" msprop:rel_Generator_ParentPropName="VirtualDSDeviceRow">
       <xs:selector xpath=".//mstns:AlarmDevice" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:VirtualDSDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalDSAlarmReporting" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDSAlarmReporting" msprop:rel_Generator_ChildPropName="GetLogicalDSAlarmReportingRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalDSAlarmReporting" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalDSAlarmReporting" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalDSAlarmReporting" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDSAlarmReporting" msprop:rel_Generator_ChildPropName="GetLogicalDSAlarmReportingRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalDSAlarmReporting" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalDSAlarmReporting" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalDSAlarmReporting" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualDSDevice" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDSDevice" msprop:rel_Generator_ChildPropName="GetVirtualDSDeviceRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualDSDevice" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualDSDevice" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="LogicalDSAlarmReporting_VirtualDSDevice" refer="LogicalDSAlarmReporting_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDSDevice" msprop:rel_Generator_ChildPropName="GetVirtualDSDeviceRows" msprop:rel_Generator_UserRelationName="LogicalDSAlarmReporting_VirtualDSDevice" msprop:rel_Generator_ParentPropName="LogicalDSAlarmReportingRow" msprop:rel_Generator_RelationVarName="relationLogicalDSAlarmReporting_VirtualDSDevice" msprop:rel_Generator_UserParentTable="LogicalDSAlarmReporting" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualDSDevice" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalDSAlarmReportingUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDSAlarmReporting_VirtualDSDevice" refer="LogicalDSAlarmReporting_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDSDevice" msprop:rel_Generator_ChildPropName="GetVirtualDSDeviceRows" msprop:rel_Generator_UserRelationName="LogicalDSAlarmReporting_VirtualDSDevice" msprop:rel_Generator_RelationVarName="relationLogicalDSAlarmReporting_VirtualDSDevice" msprop:rel_Generator_UserParentTable="LogicalDSAlarmReporting" msprop:rel_Generator_ParentPropName="LogicalDSAlarmReportingRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualDSDevice" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDSDevice" msprop:rel_Generator_ChildPropName="GetVirtualDSDeviceRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualDSDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualDSDevice" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualDSDevice" />
-      <xs:field xpath="mstns:LogicalDSAlarmReportingUID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualFlasher" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualFlasher" msprop:rel_Generator_ChildPropName="GetVirtualFlasherRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualFlasher" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualFlasher" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualFlasher" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualFlasher" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualFlasher" msprop:rel_Generator_ChildPropName="GetVirtualFlasherRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualFlasher" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualFlasher" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow">
+    <xs:keyref name="LogicalOutput_VirtualFlasher" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualFlasher" msprop:rel_Generator_ChildPropName="GetVirtualFlasherRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualFlasher" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualFlasher" msprop:rel_Generator_UserParentTable="LogicalOutput">
       <xs:selector xpath=".//mstns:VirtualFlasher" />
       <xs:field xpath="mstns:LogicalOutputUID" />
     </xs:keyref>
-    <xs:keyref name="UserGroup_User_UserGroup" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="User_UserGroup" msprop:rel_Generator_ChildPropName="GetUser_UserGroupRows" msprop:rel_Generator_UserRelationName="UserGroup_User_UserGroup" msprop:rel_Generator_RelationVarName="relationUserGroup_User_UserGroup" msprop:rel_Generator_UserParentTable="UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow">
-      <xs:selector xpath=".//mstns:User_UserGroup" />
-      <xs:field xpath="mstns:UserGroupUID" />
+    <xs:keyref name="VirtualDevice_VirtualFlasher" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualFlasher" msprop:rel_Generator_ChildPropName="GetVirtualFlasherRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualFlasher" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualFlasher" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualFlasher" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="User_User_UserGroup" refer="User_Constraint1" msprop:rel_Generator_UserChildTable="User_UserGroup" msprop:rel_Generator_ChildPropName="GetUser_UserGroupRows" msprop:rel_Generator_UserRelationName="User_User_UserGroup" msprop:rel_Generator_RelationVarName="relationUser_User_UserGroup" msprop:rel_Generator_UserParentTable="User" msprop:rel_Generator_ParentPropName="UserRow">
+    <xs:keyref name="User_User_UserGroup" refer="User_Constraint1" msprop:rel_Generator_UserChildTable="User_UserGroup" msprop:rel_Generator_ChildPropName="GetUser_UserGroupRows" msprop:rel_Generator_UserRelationName="User_User_UserGroup" msprop:rel_Generator_ParentPropName="UserRow" msprop:rel_Generator_RelationVarName="relationUser_User_UserGroup" msprop:rel_Generator_UserParentTable="User">
       <xs:selector xpath=".//mstns:User_UserGroup" />
       <xs:field xpath="mstns:UserUID" />
     </xs:keyref>
-    <xs:keyref name="FK_TimeSchedule_UserGroup_TimeSchedule" refer="TimeSchedule_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_TimeSchedule" msprop:rel_Generator_ChildPropName="GetUserGroup_TimeScheduleRows" msprop:rel_Generator_UserRelationName="FK_TimeSchedule_UserGroup_TimeSchedule" msprop:rel_Generator_RelationVarName="relationFK_TimeSchedule_UserGroup_TimeSchedule" msprop:rel_Generator_UserParentTable="TimeSchedule" msprop:rel_Generator_ParentPropName="TimeScheduleRow">
-      <xs:selector xpath=".//mstns:UserGroup_TimeSchedule" />
-      <xs:field xpath="mstns:TimeScheduleUID" />
+    <xs:keyref name="UserGroup_User_UserGroup" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="User_UserGroup" msprop:rel_Generator_ChildPropName="GetUser_UserGroupRows" msprop:rel_Generator_UserRelationName="UserGroup_User_UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow" msprop:rel_Generator_RelationVarName="relationUserGroup_User_UserGroup" msprop:rel_Generator_UserParentTable="UserGroup">
+      <xs:selector xpath=".//mstns:User_UserGroup" />
+      <xs:field xpath="mstns:UserGroupUID" />
     </xs:keyref>
-    <xs:keyref name="FK_RTZ_UserGroup_TimeSchedule" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_TimeSchedule" msprop:rel_Generator_ChildPropName="GetUserGroup_TimeScheduleRows" msprop:rel_Generator_UserRelationName="FK_RTZ_UserGroup_TimeSchedule" msprop:rel_Generator_RelationVarName="relationFK_RTZ_UserGroup_TimeSchedule" msprop:rel_Generator_UserParentTable="UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow">
+    <xs:keyref name="FK_RTZ_UserGroup_TimeSchedule" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_TimeSchedule" msprop:rel_Generator_ChildPropName="GetUserGroup_TimeScheduleRows" msprop:rel_Generator_UserRelationName="FK_RTZ_UserGroup_TimeSchedule" msprop:rel_Generator_ParentPropName="UserGroupRow" msprop:rel_Generator_RelationVarName="relationFK_RTZ_UserGroup_TimeSchedule" msprop:rel_Generator_UserParentTable="UserGroup">
       <xs:selector xpath=".//mstns:UserGroup_TimeSchedule" />
       <xs:field xpath="mstns:UserGroupUID" />
     </xs:keyref>
-    <xs:keyref name="FK_TimeSchedule_TimePeriod" refer="TimeSchedule_Constraint1" msprop:rel_Generator_UserChildTable="TimePeriod" msprop:rel_Generator_ChildPropName="GetTimePeriodRows" msprop:rel_Generator_UserRelationName="FK_TimeSchedule_TimePeriod" msprop:rel_Generator_RelationVarName="relationFK_TimeSchedule_TimePeriod" msprop:rel_Generator_UserParentTable="TimeSchedule" msprop:rel_Generator_ParentPropName="TimeScheduleRow">
+    <xs:keyref name="FK_TimeSchedule_UserGroup_TimeSchedule" refer="TimeSchedule_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_TimeSchedule" msprop:rel_Generator_ChildPropName="GetUserGroup_TimeScheduleRows" msprop:rel_Generator_UserRelationName="FK_TimeSchedule_UserGroup_TimeSchedule" msprop:rel_Generator_ParentPropName="TimeScheduleRow" msprop:rel_Generator_RelationVarName="relationFK_TimeSchedule_UserGroup_TimeSchedule" msprop:rel_Generator_UserParentTable="TimeSchedule">
+      <xs:selector xpath=".//mstns:UserGroup_TimeSchedule" />
+      <xs:field xpath="mstns:TimeScheduleUID" />
+    </xs:keyref>
+    <xs:keyref name="FK_TimeSchedule_TimePeriod" refer="TimeSchedule_Constraint1" msprop:rel_Generator_UserChildTable="TimePeriod" msprop:rel_Generator_ChildPropName="GetTimePeriodRows" msprop:rel_Generator_UserRelationName="FK_TimeSchedule_TimePeriod" msprop:rel_Generator_ParentPropName="TimeScheduleRow" msprop:rel_Generator_RelationVarName="relationFK_TimeSchedule_TimePeriod" msprop:rel_Generator_UserParentTable="TimeSchedule">
       <xs:selector xpath=".//mstns:TimePeriod" />
       <xs:field xpath="mstns:TimeScheduleUID" />
     </xs:keyref>
-    <xs:keyref name="UserGroup_DatePeriod" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="DatePeriod" msprop:rel_Generator_ChildPropName="GetDatePeriodRows" msprop:rel_Generator_UserRelationName="UserGroup_DatePeriod" msprop:rel_Generator_RelationVarName="relationUserGroup_DatePeriod" msprop:rel_Generator_UserParentTable="UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow">
+    <xs:keyref name="UserGroup_DatePeriod" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="DatePeriod" msprop:rel_Generator_ChildPropName="GetDatePeriodRows" msprop:rel_Generator_UserRelationName="UserGroup_DatePeriod" msprop:rel_Generator_ParentPropName="UserGroupRow" msprop:rel_Generator_RelationVarName="relationUserGroup_DatePeriod" msprop:rel_Generator_UserParentTable="UserGroup">
       <xs:selector xpath=".//mstns:DatePeriod" />
       <xs:field xpath="mstns:UserGroupUID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_ScheduledItem_AccessPoint" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_APGroup" msprop:rel_Generator_ChildPropName="GetScheduledItem_APGroupRows" msprop:rel_Generator_UserRelationName="AccessPoint_ScheduledItem_AccessPoint" msprop:rel_Generator_RelationVarName="relationAccessPoint_ScheduledItem_AccessPoint" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="FK_AccessPointGroup_AccessPointGroup_AccessPoint" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_APGroup" msprop:rel_Generator_ChildPropName="GetScheduledItem_AccessPointRows" msprop:rel_Generator_UserRelationName="FK_AccessPointGroup_AccessPointGroup_AccessPoint" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_AccessPointGroup_AccessPointGroup_AccessPoint" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_APGroup" />
-      <xs:field xpath="mstns:AccessPointUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AccessPointGroup_AccessPointGroup_AccessPoint" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_APGroup" msprop:rel_Generator_ChildPropName="GetScheduledItem_AccessPointRows" msprop:rel_Generator_UserRelationName="FK_AccessPointGroup_AccessPointGroup_AccessPoint" msprop:rel_Generator_RelationVarName="relationFK_AccessPointGroup_AccessPointGroup_AccessPoint" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="AccessPoint_ScheduledItem_AccessPoint" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_APGroup" msprop:rel_Generator_ChildPropName="GetScheduledItem_APGroupRows" msprop:rel_Generator_UserRelationName="AccessPoint_ScheduledItem_AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_ScheduledItem_AccessPoint" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:ScheduledItem_APGroup" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_UnsetPreventionAlarmType" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="UnsetPreventionAlarmType" msprop:rel_Generator_ChildPropName="GetUnsetPreventionAlarmTypeRows" msprop:rel_Generator_UserRelationName="Partition_UnsetPreventionAlarmType" msprop:rel_Generator_RelationVarName="relationPartition_UnsetPreventionAlarmType" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="Partition_UnsetPreventionAlarmType" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="UnsetPreventionAlarmType" msprop:rel_Generator_ChildPropName="GetUnsetPreventionAlarmTypeRows" msprop:rel_Generator_UserRelationName="Partition_UnsetPreventionAlarmType" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_UnsetPreventionAlarmType" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:UnsetPreventionAlarmType" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2WirelessPanicButtonController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessPanicButtonController" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessPanicButtonControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2WirelessPanicButtonController" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2WirelessPanicButtonController" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2WirelessPanicButtonController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessPanicButtonController" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessPanicButtonControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2WirelessPanicButtonController" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2WirelessPanicButtonController" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessPanicButtonController" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalWirelessMaster" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessMaster" msprop:rel_Generator_ChildPropName="GetLogicalWirelessMasterRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessMaster" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessMaster" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="LogicalDevice_LogicalWirelessMaster" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessMaster" msprop:rel_Generator_ChildPropName="GetLogicalWirelessMasterRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessMaster" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessMaster" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:LogicalWirelessMaster" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalWirelessPeripheral" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetLogicalWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessPeripheral" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessPeripheral" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalWirelessPeripheral" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetLogicalWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessPeripheral" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessPeripheral" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalWirelessPeripheral" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" refer="VirtualPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralPartitionMemberFaultTypeRows" msprop:rel_Generator_UserRelationName="VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_RelationVarName="relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_UserParentTable="VirtualPeripheral" msprop:rel_Generator_ParentPropName="VirtualPeripheralRow">
+    <xs:keyref name="PartitionMember_VirtualPeripheralPartitionMemberFaultType" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralPartitionMemberFaultTypeRows" msprop:rel_Generator_UserRelationName="PartitionMember_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msprop:rel_Generator_RelationVarName="relationPartitionMember_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_UserParentTable="PartitionMember">
       <xs:selector xpath=".//mstns:VirtualPeripheralPartitionMemberFaultType" />
-      <xs:field xpath="mstns:VirtualPeripheralUID" />
+      <xs:field xpath="mstns:PartitionMemberUID" />
     </xs:keyref>
-    <xs:keyref name="PartitionMember_VirtualPeripheralPartitionMemberFaultType" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralPartitionMemberFaultTypeRows" msprop:rel_Generator_UserRelationName="PartitionMember_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_RelationVarName="relationPartitionMember_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_UserParentTable="PartitionMember" msprop:rel_Generator_ParentPropName="PartitionMemberRow">
+    <xs:keyref name="VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" refer="VirtualPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralPartitionMemberFaultTypeRows" msprop:rel_Generator_UserRelationName="VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ParentPropName="VirtualPeripheralRow" msprop:rel_Generator_RelationVarName="relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_UserParentTable="VirtualPeripheral">
       <xs:selector xpath=".//mstns:VirtualPeripheralPartitionMemberFaultType" />
-      <xs:field xpath="mstns:PartitionMemberUID" />
+      <xs:field xpath="mstns:VirtualPeripheralUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_PartitionFaultType" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionFaultType" msprop:rel_Generator_ChildPropName="GetPartitionFaultTypeRows" msprop:rel_Generator_UserRelationName="Partition_PartitionFaultType" msprop:rel_Generator_RelationVarName="relationPartition_PartitionFaultType" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="Partition_PartitionFaultType" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionFaultType" msprop:rel_Generator_ChildPropName="GetPartitionFaultTypeRows" msprop:rel_Generator_UserRelationName="Partition_PartitionFaultType" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_PartitionFaultType" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PartitionFaultType" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_MacroDelay" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_MacroDelay" msprop:rel_Generator_ChildPropName="GetCommand_MacroDelayRows" msprop:rel_Generator_UserRelationName="Command_Command_MacroDelay" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_MacroDelay" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_MacroDelay" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_MacroDelay" msprop:rel_Generator_ChildPropName="GetCommand_MacroDelayRows" msprop:rel_Generator_UserRelationName="Command_Command_MacroDelay" msprop:rel_Generator_RelationVarName="relationCommand_Command_MacroDelay" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_MacroDelay" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_OutputPulseOn" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_OutputPulseOn" msprop:rel_Generator_ChildPropName="GetCommand_OutputPulseOnRows" msprop:rel_Generator_UserRelationName="Command_Command_OutputPulseOn" msprop:rel_Generator_RelationVarName="relationCommand_Command_OutputPulseOn" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_OutputPulseOn" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_OutputPulseOn" msprop:rel_Generator_ChildPropName="GetCommand_OutputPulseOnRows" msprop:rel_Generator_UserRelationName="Command_Command_OutputPulseOn" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_OutputPulseOn" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_OutputPulseOn" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_PartitionMemberOmit" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionMemberOmit" msprop:rel_Generator_ChildPropName="GetCommand_PartitionMemberOmitRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionMemberOmit" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionMemberOmit" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_PartitionMemberOmit" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionMemberOmit" msprop:rel_Generator_ChildPropName="GetCommand_PartitionMemberOmitRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionMemberOmit" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionMemberOmit" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_PartitionMemberOmit" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_PartitionClearAlarmType" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionClearAlarmType" msprop:rel_Generator_ChildPropName="GetCommand_PartitionClearAlarmTypeRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionClearAlarmType" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionClearAlarmType" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_PartitionClearAlarmType" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionClearAlarmType" msprop:rel_Generator_ChildPropName="GetCommand_PartitionClearAlarmTypeRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionClearAlarmType" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionClearAlarmType" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_PartitionClearAlarmType" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_PartitionSetState" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionSetState" msprop:rel_Generator_ChildPropName="GetCommand_PartitionSetStateRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionSetState" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionSetState" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_PartitionSetState" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionSetState" msprop:rel_Generator_ChildPropName="GetCommand_PartitionSetStateRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionSetState" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionSetState" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_PartitionSetState" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_PartitionTrigger_SetState" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionSetState" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionSetStateRows" msprop:rel_Generator_UserRelationName="Trigger_PartitionTrigger_SetState" msprop:rel_Generator_RelationVarName="relationTrigger_PartitionTrigger_SetState" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Trigger_PartitionTrigger_SetState" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionSetState" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionSetStateRows" msprop:rel_Generator_UserRelationName="Trigger_PartitionTrigger_SetState" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_PartitionTrigger_SetState" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_PartitionSetState" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_PartitionTrigger_ReadyState" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionReadySetState" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionReadySetStateRows" msprop:rel_Generator_UserRelationName="Trigger_PartitionTrigger_ReadyState" msprop:rel_Generator_RelationVarName="relationTrigger_PartitionTrigger_ReadyState" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Trigger_PartitionTrigger_ReadyState" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionReadySetState" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionReadySetStateRows" msprop:rel_Generator_UserRelationName="Trigger_PartitionTrigger_ReadyState" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_PartitionTrigger_ReadyState" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_PartitionReadySetState" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="PMCollection_PMCollectionExitRoute" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionExitRoute" msprop:rel_Generator_ChildPropName="GetPMCollectionExitRouteRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionExitRoute" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionExitRoute" msprop:rel_Generator_UserParentTable="PMCollection" msprop:rel_Generator_ParentPropName="PMCollectionRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="PMCollection_PMCollectionExitRoute" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionExitRoute" msprop:rel_Generator_ChildPropName="GetPMCollectionExitRouteRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionExitRoute" msprop:rel_Generator_ParentPropName="PMCollectionRow" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionExitRoute" msprop:rel_Generator_UserParentTable="PMCollection" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:PMCollectionExitRoute" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="PMCollection_PMCollectionEntryRoute" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionEntryRoute" msprop:rel_Generator_ChildPropName="GetPMCollectionEntryRouteRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionEntryRoute" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionEntryRoute" msprop:rel_Generator_UserParentTable="PMCollection" msprop:rel_Generator_ParentPropName="PMCollectionRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="PMCollection_PMCollectionEntryRoute" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionEntryRoute" msprop:rel_Generator_ChildPropName="GetPMCollectionEntryRouteRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionEntryRoute" msprop:rel_Generator_ParentPropName="PMCollectionRow" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionEntryRoute" msprop:rel_Generator_UserParentTable="PMCollection" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:PMCollectionEntryRoute" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="PMCollection_PMCollectionDependecy" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionDependency" msprop:rel_Generator_ChildPropName="GetPMCollectionDependencyRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionDependecy" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionDependecy" msprop:rel_Generator_UserParentTable="PMCollection" msprop:rel_Generator_ParentPropName="PMCollectionRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="PMCollection_PMCollectionDependecy" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionDependency" msprop:rel_Generator_ChildPropName="GetPMCollectionDependencyRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionDependecy" msprop:rel_Generator_ParentPropName="PMCollectionRow" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionDependecy" msprop:rel_Generator_UserParentTable="PMCollection" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:PMCollectionDependency" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Partition_PMCollection" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PMCollection" msprop:rel_Generator_ChildPropName="GetPMCollectionRows" msprop:rel_Generator_UserRelationName="Partition_PMCollection" msprop:rel_Generator_RelationVarName="relationPartition_PMCollection" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="Partition_PMCollection" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PMCollection" msprop:rel_Generator_ChildPropName="GetPMCollectionRows" msprop:rel_Generator_UserRelationName="Partition_PMCollection" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_PMCollection" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PMCollection" />
       <xs:field xpath="mstns:Owner" />
     </xs:keyref>
-    <xs:keyref name="Partition_PartitionMember" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionMember" msprop:rel_Generator_ChildPropName="GetPartitionMemberRows" msprop:rel_Generator_UserRelationName="Partition_PartitionMember" msprop:rel_Generator_RelationVarName="relationPartition_PartitionMember" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="Partition_PartitionMember" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionMember" msprop:rel_Generator_ChildPropName="GetPartitionMemberRows" msprop:rel_Generator_UserRelationName="Partition_PartitionMember" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_PartitionMember" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PartitionMember" />
       <xs:field xpath="mstns:Owner" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2BusController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2BusController" msprop:rel_Generator_ChildPropName="GetHWBus2BusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2BusController" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2BusController" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2BusController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2BusController" msprop:rel_Generator_ChildPropName="GetHWBus2BusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2BusController" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2BusController" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2BusController" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIBusEAGrundModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusEAGrundModule" msprop:rel_Generator_ChildPropName="GetHWIBusEAGrundModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusEAGrundModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusEAGrundModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIBusEAGrundModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusEAGrundModule" msprop:rel_Generator_ChildPropName="GetHWIBusEAGrundModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusEAGrundModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusEAGrundModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWIBusEAGrundModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus264DGDisplayTerminal" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus264DGDisplayTerminal" msprop:rel_Generator_ChildPropName="GetHWBus264DGDisplayTerminalRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus264DGDisplayTerminal" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus264DGDisplayTerminal" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus264DGDisplayTerminal" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus264DGDisplayTerminal" msprop:rel_Generator_ChildPropName="GetHWBus264DGDisplayTerminalRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus264DGDisplayTerminal" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus264DGDisplayTerminal" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus264DGDisplayTerminal" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIB2DS7700Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS7700" msprop:rel_Generator_ChildPropName="GetHWSerialDS7700Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2DS7700Module" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2DS7700Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIB2DS7700Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS7700" msprop:rel_Generator_ChildPropName="GetHWSerialDS7700Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2DS7700Module" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2DS7700Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS7700" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIB2DS6600Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6600" msprop:rel_Generator_ChildPropName="GetHWSerialDS6600Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2DS6600Module" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2DS6600Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIB2DS6600Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6600" msprop:rel_Generator_ChildPropName="GetHWSerialDS6600Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2DS6600Module" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2DS6600Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS6600" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIB2SirenModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SirenModule" msprop:rel_Generator_ChildPropName="GetHWBus2SirenModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2SirenModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2SirenModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIB2SirenModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SirenModule" msprop:rel_Generator_ChildPropName="GetHWBus2SirenModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2SirenModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2SirenModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2SirenModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2WirelessRFPanicButton" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessPanicButton" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2WirelessRFPanicButton" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2WirelessRFPanicButton" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2WirelessRFPanicButton" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessPanicButton" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2WirelessRFPanicButton" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2WirelessRFPanicButton" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessPanicButton" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2RFViewguardPIR" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessViewguard" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessViewguardRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFViewguardPIR" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFViewguardPIR" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2RFViewguardPIR" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessViewguard" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessViewguardRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFViewguardPIR" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFViewguardPIR" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessViewguard" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2RFSmokeDetectorBase" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessSmokeDetector" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessSmokeDetectorRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFSmokeDetectorBase" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFSmokeDetectorBase" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2RFSmokeDetectorBase" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessSmokeDetector" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessSmokeDetectorRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFSmokeDetectorBase" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFSmokeDetectorBase" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessSmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2RF4IOWirelessModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Wireless4IOModule" msprop:rel_Generator_ChildPropName="GetHWBus2Wireless4IOModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RF4IOWirelessModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RF4IOWirelessModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2RF4IOWirelessModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Wireless4IOModule" msprop:rel_Generator_ChildPropName="GetHWBus2Wireless4IOModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RF4IOWirelessModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RF4IOWirelessModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2Wireless4IOModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2RFBus2WirelessMaster" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessMaster" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessMasterRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFBus2WirelessMaster" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFBus2WirelessMaster" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2RFBus2WirelessMaster" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessMaster" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessMasterRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFBus2WirelessMaster" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFBus2WirelessMaster" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessMaster" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_Bus2TouchCenter" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2GraphicsKeypad" msprop:rel_Generator_ChildPropName="GetHWBus2GraphicsKeypadRows" msprop:rel_Generator_UserRelationName="HardwareDevice_Bus2TouchCenter" msprop:rel_Generator_RelationVarName="relationHardwareDevice_Bus2TouchCenter" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_Bus2TouchCenter" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2GraphicsKeypad" msprop:rel_Generator_ChildPropName="GetHWBus2GraphicsKeypadRows" msprop:rel_Generator_UserRelationName="HardwareDevice_Bus2TouchCenter" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_Bus2TouchCenter" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2GraphicsKeypad" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWModulBusKeyboardReader" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWModulBusKeyboardReader" msprop:rel_Generator_ChildPropName="GetHWModulBusKeyboardReaderRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWModulBusKeyboardReader" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWModulBusKeyboardReader" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWModulBusKeyboardReader" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWModulBusKeyboardReader" msprop:rel_Generator_ChildPropName="GetHWModulBusKeyboardReaderRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWModulBusKeyboardReader" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWModulBusKeyboardReader" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWModulBusKeyboardReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWModulBusKeyboard" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWModulBusReader" msprop:rel_Generator_ChildPropName="GetHWModulBusReaderRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWModulBusKeyboard" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWModulBusKeyboard" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWModulBusKeyboard" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWModulBusReader" msprop:rel_Generator_ChildPropName="GetHWModulBusReaderRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWModulBusKeyboard" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWModulBusKeyboard" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWModulBusReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2IdentKey3" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identkey3" msprop:rel_Generator_ChildPropName="GetHWBus2Identkey3Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2IdentKey3" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2IdentKey3" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2IdentKey3" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identkey3" msprop:rel_Generator_ChildPropName="GetHWBus2Identkey3Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2IdentKey3" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2IdentKey3" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2Identkey3" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2IdentKey2" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identkey2" msprop:rel_Generator_ChildPropName="GetHWBus2Identkey2Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2IdentKey2" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2IdentKey2" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2IdentKey2" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identkey2" msprop:rel_Generator_ChildPropName="GetHWBus2Identkey2Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2IdentKey2" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2IdentKey2" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2Identkey2" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2DoorGuard" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DoorGuard" msprop:rel_Generator_ChildPropName="GetHWBus2DoorGuardRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DoorGuard" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DoorGuard" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2DoorGuard" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DoorGuard" msprop:rel_Generator_ChildPropName="GetHWBus2DoorGuardRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DoorGuard" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DoorGuard" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2DoorGuard" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2DoorControllerModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DoorControllerModule" msprop:rel_Generator_ChildPropName="GetHWBus2DoorControllerModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DoorControllerModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DoorControllerModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="HardwareDevice_HWBus2DoorControllerModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DoorControllerModule" msprop:rel_Generator_ChildPropName="GetHWBus2DoorControllerModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DoorControllerModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DoorControllerModule" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:HWBus2DoorControllerModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2Identloc" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identloc" msprop:rel_Generator_ChildPropName="GetHWBus2IdentlocRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2Identloc" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2Identloc" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2Identloc" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identloc" msprop:rel_Generator_ChildPropName="GetHWBus2IdentlocRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2Identloc" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2Identloc" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2Identloc" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2SmokeDetector" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SmokeDetector" msprop:rel_Generator_ChildPropName="GetHWBus2SmokeDetectorRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2SmokeDetector" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2SmokeDetector" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2SmokeDetector" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SmokeDetector" msprop:rel_Generator_ChildPropName="GetHWBus2SmokeDetectorRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2SmokeDetector" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2SmokeDetector" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2SmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2ViewguardPIR" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardPIR" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardPIRRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewguardPIR" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewguardPIR" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="HardwareDevice_HWBus2ViewguardPIR" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardPIR" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardPIRRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewguardPIR" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewguardPIR" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus2ViewGuardPIR" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2SCM3000" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SCM3000" msprop:rel_Generator_ChildPropName="GetHWBus2SCM3000Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2SCM3000" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2SCM3000" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2SCM3000" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SCM3000" msprop:rel_Generator_ChildPropName="GetHWBus2SCM3000Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2SCM3000" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2SCM3000" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2SCM3000" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus25OutputModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus25OutputModule" msprop:rel_Generator_ChildPropName="GetHWBus25OutputModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus25OutputModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus25OutputModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus25OutputModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus25OutputModule" msprop:rel_Generator_ChildPropName="GetHWBus25OutputModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus25OutputModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus25OutputModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus25OutputModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus25InputModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus25InputModule" msprop:rel_Generator_ChildPropName="GetHWBus25InputModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus25InputModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus25InputModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus25InputModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus25InputModule" msprop:rel_Generator_ChildPropName="GetHWBus25InputModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus25InputModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus25InputModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus25InputModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2MiniModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2MiniModule" msprop:rel_Generator_ChildPropName="GetHWBus2MiniModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2MiniModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2MiniModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2MiniModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2MiniModule" msprop:rel_Generator_ChildPropName="GetHWBus2MiniModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2MiniModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2MiniModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2MiniModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2DuoModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DuoModule" msprop:rel_Generator_ChildPropName="GetHWBus2DuoModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DuoModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DuoModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2DuoModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DuoModule" msprop:rel_Generator_ChildPropName="GetHWBus2DuoModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DuoModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DuoModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2DuoModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus210DGOperatingUnit" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus210DGDisablingUnit" msprop:rel_Generator_ChildPropName="GetHWBus210DGDisablingUnitRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus210DGOperatingUnit" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus210DGOperatingUnit" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus210DGOperatingUnit" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus210DGDisablingUnit" msprop:rel_Generator_ChildPropName="GetHWBus210DGDisablingUnitRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus210DGOperatingUnit" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus210DGOperatingUnit" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus210DGDisablingUnit" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus216DGDisplayModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus216DGDisablingDisplayModule" msprop:rel_Generator_ChildPropName="GetHWBus216DGDisablingDisplayModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus216DGDisplayModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus216DGDisplayModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus216DGDisplayModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus216DGDisablingDisplayModule" msprop:rel_Generator_ChildPropName="GetHWBus216DGDisablingDisplayModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus216DGDisplayModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus216DGDisplayModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus216DGDisablingDisplayModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWRS232PortController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialBusController" msprop:rel_Generator_ChildPropName="GetHWSerialBusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWRS232PortController" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWRS232PortController" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWRS232PortController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialBusController" msprop:rel_Generator_ChildPropName="GetHWSerialBusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWRS232PortController" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWRS232PortController" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialBusController" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIBusBus2Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusBus2Module" msprop:rel_Generator_ChildPropName="GetHWIBusBus2ModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusBus2Module" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusBus2Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIBusBus2Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusBus2Module" msprop:rel_Generator_ChildPropName="GetHWIBusBus2ModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusBus2Module" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusBus2Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWIBusBus2Module" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIBusBusController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusBusController" msprop:rel_Generator_ChildPropName="GetHWIBusBusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusBusController" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusBusController" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIBusBusController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusBusController" msprop:rel_Generator_ChildPropName="GetHWIBusBusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusBusController" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusBusController" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWIBusBusController" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_APTurnstile" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="LogicalInput_APTurnstile" msprop:rel_Generator_RelationVarName="relationLogicalInput_APTurnstile" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_APTurnstile" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="LogicalOutput_APTurnstile" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msprop:rel_Generator_RelationVarName="relationLogicalOutput_APTurnstile" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:APTurnstile" />
-      <xs:field xpath="mstns:LatchContactInputUID" />
+      <xs:field xpath="mstns:OpenerRelayOutputUID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_APTurnstile" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="AccessPoint_APTurnstile" msprop:rel_Generator_RelationVarName="relationAccessPoint_APTurnstile" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="AccessPoint_APTurnstile" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="AccessPoint_APTurnstile" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_APTurnstile" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:APTurnstile" />
       <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_APTurnstile" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="LogicalOutput_APTurnstile" msprop:rel_Generator_RelationVarName="relationLogicalOutput_APTurnstile" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_APTurnstile" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="LogicalInput_APTurnstile" msprop:rel_Generator_ParentPropName="LogicalInputRow" msprop:rel_Generator_RelationVarName="relationLogicalInput_APTurnstile" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:APTurnstile" />
-      <xs:field xpath="mstns:OpenerRelayOutputUID" />
+      <xs:field xpath="mstns:LatchContactInputUID" />
     </xs:keyref>
-    <xs:keyref name="SignalingGroup_SignalingGroup_Flasher" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Flasher" msprop:rel_Generator_ChildPropName="GetSignalingGroup_FlasherRows" msprop:rel_Generator_UserRelationName="SignalingGroup_SignalingGroup_Flasher" msprop:rel_Generator_RelationVarName="relationSignalingGroup_SignalingGroup_Flasher" msprop:rel_Generator_UserParentTable="SignalingGroup" msprop:rel_Generator_ParentPropName="SignalingGroupRow">
+    <xs:keyref name="VirtualFlasher_SignalingGroup_Flasher" refer="VirtualFlasher_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Flasher" msprop:rel_Generator_ChildPropName="GetSignalingGroup_FlasherRows" msprop:rel_Generator_UserRelationName="VirtualFlasher_SignalingGroup_Flasher" msprop:rel_Generator_ParentPropName="VirtualFlasherRow" msprop:rel_Generator_RelationVarName="relationVirtualFlasher_SignalingGroup_Flasher" msprop:rel_Generator_UserParentTable="VirtualFlasher">
       <xs:selector xpath=".//mstns:SignalingGroup_Flasher" />
-      <xs:field xpath="mstns:SignalingGroupUID" />
+      <xs:field xpath="mstns:FlasherUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualFlasher_SignalingGroup_Flasher" refer="VirtualFlasher_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Flasher" msprop:rel_Generator_ChildPropName="GetSignalingGroup_FlasherRows" msprop:rel_Generator_UserRelationName="VirtualFlasher_SignalingGroup_Flasher" msprop:rel_Generator_RelationVarName="relationVirtualFlasher_SignalingGroup_Flasher" msprop:rel_Generator_UserParentTable="VirtualFlasher" msprop:rel_Generator_ParentPropName="VirtualFlasherRow">
+    <xs:keyref name="SignalingGroup_SignalingGroup_Flasher" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Flasher" msprop:rel_Generator_ChildPropName="GetSignalingGroup_FlasherRows" msprop:rel_Generator_UserRelationName="SignalingGroup_SignalingGroup_Flasher" msprop:rel_Generator_ParentPropName="SignalingGroupRow" msprop:rel_Generator_RelationVarName="relationSignalingGroup_SignalingGroup_Flasher" msprop:rel_Generator_UserParentTable="SignalingGroup">
       <xs:selector xpath=".//mstns:SignalingGroup_Flasher" />
-      <xs:field xpath="mstns:FlasherUID" />
+      <xs:field xpath="mstns:SignalingGroupUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_SignalingGroup_Sounder" refer="VirtualSounder_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Sounder" msprop:rel_Generator_ChildPropName="GetSignalingGroup_SounderRows" msprop:rel_Generator_UserRelationName="VirtualDevice_SignalingGroup_Sounder" msprop:rel_Generator_RelationVarName="relationVirtualDevice_SignalingGroup_Sounder" msprop:rel_Generator_UserParentTable="VirtualSounder" msprop:rel_Generator_ParentPropName="VirtualSounderRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="SignalingGroup_SignalingGroup_Siren" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Sounder" msprop:rel_Generator_ChildPropName="GetSignalingGroup_SounderRows" msprop:rel_Generator_UserRelationName="SignalingGroup_SignalingGroup_Siren" msprop:rel_Generator_ParentPropName="SignalingGroupRow" msprop:rel_Generator_RelationVarName="relationSignalingGroup_SignalingGroup_Siren" msprop:rel_Generator_UserParentTable="SignalingGroup">
       <xs:selector xpath=".//mstns:SignalingGroup_Sounder" />
-      <xs:field xpath="mstns:SounderUID" />
+      <xs:field xpath="mstns:SignalingGroupUID" />
     </xs:keyref>
-    <xs:keyref name="SignalingGroup_SignalingGroup_Siren" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Sounder" msprop:rel_Generator_ChildPropName="GetSignalingGroup_SounderRows" msprop:rel_Generator_UserRelationName="SignalingGroup_SignalingGroup_Siren" msprop:rel_Generator_RelationVarName="relationSignalingGroup_SignalingGroup_Siren" msprop:rel_Generator_UserParentTable="SignalingGroup" msprop:rel_Generator_ParentPropName="SignalingGroupRow">
+    <xs:keyref name="VirtualDevice_SignalingGroup_Sounder" refer="VirtualSounder_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Sounder" msprop:rel_Generator_ChildPropName="GetSignalingGroup_SounderRows" msprop:rel_Generator_UserRelationName="VirtualDevice_SignalingGroup_Sounder" msprop:rel_Generator_ParentPropName="VirtualSounderRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_SignalingGroup_Sounder" msprop:rel_Generator_UserParentTable="VirtualSounder" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:SignalingGroup_Sounder" />
-      <xs:field xpath="mstns:SignalingGroupUID" />
+      <xs:field xpath="mstns:SounderUID" />
     </xs:keyref>
-    <xs:keyref name="SignalingGroup_Partition_SignalingGroup" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="Partition_SignalingGroup" msprop:rel_Generator_ChildPropName="GetPartition_SignalingGroupRows" msprop:rel_Generator_UserRelationName="SignalingGroup_Partition_SignalingGroup" msprop:rel_Generator_RelationVarName="relationSignalingGroup_Partition_SignalingGroup" msprop:rel_Generator_UserParentTable="SignalingGroup" msprop:rel_Generator_ParentPropName="SignalingGroupRow">
+    <xs:keyref name="Partition_Partition_SignalingGroup" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="Partition_SignalingGroup" msprop:rel_Generator_ChildPropName="GetPartition_SignalingGroupRows" msprop:rel_Generator_UserRelationName="Partition_Partition_SignalingGroup" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_Partition_SignalingGroup" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:Partition_SignalingGroup" />
-      <xs:field xpath="mstns:SignalingGroupUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_Partition_SignalingGroup" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="Partition_SignalingGroup" msprop:rel_Generator_ChildPropName="GetPartition_SignalingGroupRows" msprop:rel_Generator_UserRelationName="Partition_Partition_SignalingGroup" msprop:rel_Generator_RelationVarName="relationPartition_Partition_SignalingGroup" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="SignalingGroup_Partition_SignalingGroup" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="Partition_SignalingGroup" msprop:rel_Generator_ChildPropName="GetPartition_SignalingGroupRows" msprop:rel_Generator_UserRelationName="SignalingGroup_Partition_SignalingGroup" msprop:rel_Generator_ParentPropName="SignalingGroupRow" msprop:rel_Generator_RelationVarName="relationSignalingGroup_Partition_SignalingGroup" msprop:rel_Generator_UserParentTable="SignalingGroup">
       <xs:selector xpath=".//mstns:Partition_SignalingGroup" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:SignalingGroupUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle1" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle2" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:PanicAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:IntruderAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle3" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:FireAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:TamperAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_ExternalSounderStyle" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRows" msprop:rel_Generator_UserRelationName="Partition_ExternalSounderStyle" msprop:rel_Generator_RelationVarName="relationPartition_ExternalSounderStyle" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle4" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:TechnicalAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle4" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle4" msdata:DeleteRule="SetNull">
+    <xs:keyref name="Partition_ExternalSounderStyle" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRows" msprop:rel_Generator_UserRelationName="Partition_ExternalSounderStyle" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_ExternalSounderStyle" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:TechnicalAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle3" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle3" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:TamperAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:FireAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle2" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle1" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:IntruderAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:PanicAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AccessPoint_AccessPoint_User" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint_User" msprop:rel_Generator_ChildPropName="GetAccessPoint_UserRows" msprop:rel_Generator_UserRelationName="FK_AccessPoint_AccessPoint_User" msprop:rel_Generator_RelationVarName="relationFK_AccessPoint_AccessPoint_User" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="FK_User_AccessPoint_User" refer="User_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint_User" msprop:rel_Generator_ChildPropName="GetAccessPoint_UserRows" msprop:rel_Generator_UserRelationName="FK_User_AccessPoint_User" msprop:rel_Generator_ParentPropName="UserRow" msprop:rel_Generator_RelationVarName="relationFK_User_AccessPoint_User" msprop:rel_Generator_UserParentTable="User">
       <xs:selector xpath=".//mstns:AccessPoint_User" />
-      <xs:field xpath="mstns:AccessPointUID" />
+      <xs:field xpath="mstns:UserUID" />
     </xs:keyref>
-    <xs:keyref name="FK_User_AccessPoint_User" refer="User_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint_User" msprop:rel_Generator_ChildPropName="GetAccessPoint_UserRows" msprop:rel_Generator_UserRelationName="FK_User_AccessPoint_User" msprop:rel_Generator_RelationVarName="relationFK_User_AccessPoint_User" msprop:rel_Generator_UserParentTable="User" msprop:rel_Generator_ParentPropName="UserRow">
+    <xs:keyref name="FK_AccessPoint_AccessPoint_User" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint_User" msprop:rel_Generator_ChildPropName="GetAccessPoint_UserRows" msprop:rel_Generator_UserRelationName="FK_AccessPoint_AccessPoint_User" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationFK_AccessPoint_AccessPoint_User" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:AccessPoint_User" />
-      <xs:field xpath="mstns:UserUID" />
+      <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_APMacro" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APMacro" msprop:rel_Generator_ChildPropName="GetAPMacroRows" msprop:rel_Generator_UserRelationName="AccessPoint_APMacro" msprop:rel_Generator_RelationVarName="relationAccessPoint_APMacro" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="AccessPoint_APMacro" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APMacro" msprop:rel_Generator_ChildPropName="GetAPMacroRows" msprop:rel_Generator_UserRelationName="AccessPoint_APMacro" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_APMacro" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:APMacro" />
       <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_APQuickMacro" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APQuickMacro" msprop:rel_Generator_ChildPropName="GetAPQuickMacroRows" msprop:rel_Generator_UserRelationName="AccessPoint_APQuickMacro" msprop:rel_Generator_RelationVarName="relationAccessPoint_APQuickMacro" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="AccessPoint_APQuickMacro" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APQuickMacro" msprop:rel_Generator_ChildPropName="GetAPQuickMacroRows" msprop:rel_Generator_UserRelationName="AccessPoint_APQuickMacro" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_APQuickMacro" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:APQuickMacro" />
       <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalAccessPoint" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalAccessPoint" msprop:rel_Generator_ChildPropName="GetLogicalAccessPointRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalAccessPoint" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalAccessPoint" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="LogicalDevice_LogicalAccessPoint" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalAccessPoint" msprop:rel_Generator_ChildPropName="GetLogicalAccessPointRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalAccessPoint" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalAccessPoint" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:LogicalAccessPoint" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalSmartUI" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSmartUI" msprop:rel_Generator_ChildPropName="GetLogicalSmartUIRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSmartUI" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSmartUI" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="LogicalDevice_LogicalSmartUI" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSmartUI" msprop:rel_Generator_ChildPropName="GetLogicalSmartUIRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSmartUI" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSmartUI" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:LogicalSmartUI" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalInstallServices" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalInstallService" msprop:rel_Generator_ChildPropName="GetLogicalInstallServiceRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalInstallServices" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalInstallServices" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalInstallServices" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalInstallService" msprop:rel_Generator_ChildPropName="GetLogicalInstallServiceRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalInstallServices" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalInstallServices" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalInstallService" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_WirelessMaster" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="WirelessMaster" msprop:rel_Generator_ChildPropName="GetWirelessMasterRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_WirelessMaster" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_WirelessMaster" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="FK_HardwareDevice_WirelessMaster1" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="WirelessMaster" msprop:rel_Generator_ChildPropName="GetWirelessMasterRowsByFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_ParentPropName="HardwareDeviceRowByFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:WirelessMaster" />
-      <xs:field xpath="mstns:DeviceUID" />
+      <xs:field xpath="mstns:MasterUID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_WirelessMaster1" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="WirelessMaster" msprop:rel_Generator_ChildPropName="GetWirelessMasterRowsByFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRowByFK_HardwareDevice_WirelessMaster1">
+    <xs:keyref name="FK_HardwareDevice_WirelessMaster" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="WirelessMaster" msprop:rel_Generator_ChildPropName="GetWirelessMasterRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_WirelessMaster" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_WirelessMaster" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:WirelessMaster" />
-      <xs:field xpath="mstns:MasterUID" />
+      <xs:field xpath="mstns:DeviceUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalReader" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalReader" msprop:rel_Generator_ChildPropName="GetLogicalReaderRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalReader" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalReader" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalReader" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalReader" msprop:rel_Generator_ChildPropName="GetLogicalReaderRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalReader" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalReader" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalKeyboardReader" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKeyboardReader" msprop:rel_Generator_ChildPropName="GetLogicalKeyboardReaderRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalKeyboardReader" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalKeyboardReader" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalKeyboardReader" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKeyboardReader" msprop:rel_Generator_ChildPropName="GetLogicalKeyboardReaderRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalKeyboardReader" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalKeyboardReader" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalKeyboardReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalKeyboard" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKeyboard" msprop:rel_Generator_ChildPropName="GetLogicalKeyboardRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalKeyboard" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalKeyboard" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalKeyboard" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKeyboard" msprop:rel_Generator_ChildPropName="GetLogicalKeyboardRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalKeyboard" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalKeyboard" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalKeyboard" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualTemperature" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualTemperature" msprop:rel_Generator_ChildPropName="GetVirtualTemperatureRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualTemperature" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualTemperature" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalTemperature_VirtualTemperature" refer="LogicalTemperature_Constraint1" msprop:rel_Generator_UserChildTable="VirtualTemperature" msprop:rel_Generator_ChildPropName="GetVirtualTemperatureRows" msprop:rel_Generator_UserRelationName="LogicalTemperature_VirtualTemperature" msprop:rel_Generator_ParentPropName="LogicalTemperatureRow" msprop:rel_Generator_RelationVarName="relationLogicalTemperature_VirtualTemperature" msprop:rel_Generator_UserParentTable="LogicalTemperature" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualTemperature" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalTemperatureUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalTemperature_VirtualTemperature" refer="LogicalTemperature_Constraint1" msprop:rel_Generator_UserChildTable="VirtualTemperature" msprop:rel_Generator_ChildPropName="GetVirtualTemperatureRows" msprop:rel_Generator_UserRelationName="LogicalTemperature_VirtualTemperature" msprop:rel_Generator_RelationVarName="relationLogicalTemperature_VirtualTemperature" msprop:rel_Generator_UserParentTable="LogicalTemperature" msprop:rel_Generator_ParentPropName="LogicalTemperatureRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualTemperature" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualTemperature" msprop:rel_Generator_ChildPropName="GetVirtualTemperatureRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualTemperature" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualTemperature" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualTemperature" />
-      <xs:field xpath="mstns:LogicalTemperatureUID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualSmokeDetector" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSmokeDetector" msprop:rel_Generator_ChildPropName="GetVirtualSmokeDetectorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSmokeDetector" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSmokeDetector" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
-      <xs:selector xpath=".//mstns:VirtualSmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalSmokeDetector_VirtualSmokeDetector" refer="LogicalSmokeDetector_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSmokeDetector" msprop:rel_Generator_ChildPropName="GetVirtualSmokeDetectorRows" msprop:rel_Generator_UserRelationName="LogicalSmokeDetector_VirtualSmokeDetector" msprop:rel_Generator_RelationVarName="relationLogicalSmokeDetector_VirtualSmokeDetector" msprop:rel_Generator_UserParentTable="LogicalSmokeDetector" msprop:rel_Generator_ParentPropName="LogicalSmokeDetectorRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalSmokeDetector_VirtualSmokeDetector" refer="LogicalSmokeDetector_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSmokeDetector" msprop:rel_Generator_ChildPropName="GetVirtualSmokeDetectorRows" msprop:rel_Generator_UserRelationName="LogicalSmokeDetector_VirtualSmokeDetector" msprop:rel_Generator_ParentPropName="LogicalSmokeDetectorRow" msprop:rel_Generator_RelationVarName="relationLogicalSmokeDetector_VirtualSmokeDetector" msprop:rel_Generator_UserParentTable="LogicalSmokeDetector" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualSmokeDetector" />
       <xs:field xpath="mstns:LogicalSmokeDetectorUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualPeripheral" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualPeripheral" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualPeripheral" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualPeripheral" />
+    <xs:keyref name="VirtualDevice_VirtualSmokeDetector" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSmokeDetector" msprop:rel_Generator_ChildPropName="GetVirtualSmokeDetectorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSmokeDetector" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSmokeDetector" msprop:rel_Generator_UserParentTable="VirtualDevice">
+      <xs:selector xpath=".//mstns:VirtualSmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalPeripheral_VirtualPeripheral" refer="LogicalPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalPeripheral_VirtualPeripheral" msprop:rel_Generator_RelationVarName="relationLogicalPeripheral_VirtualPeripheral" msprop:rel_Generator_UserParentTable="LogicalPeripheral" msprop:rel_Generator_ParentPropName="LogicalPeripheralRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalPeripheral_VirtualPeripheral" refer="LogicalPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalPeripheral_VirtualPeripheral" msprop:rel_Generator_ParentPropName="LogicalPeripheralRow" msprop:rel_Generator_RelationVarName="relationLogicalPeripheral_VirtualPeripheral" msprop:rel_Generator_UserParentTable="LogicalPeripheral" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualPeripheral" />
       <xs:field xpath="mstns:LogicalPeripheralUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalTemperature" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalTemperature" msprop:rel_Generator_ChildPropName="GetLogicalTemperatureRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalTemperature" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalTemperature" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualPeripheral" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualPeripheral" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualPeripheral" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualPeripheral" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="LogicalDevice_LogicalTemperature" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalTemperature" msprop:rel_Generator_ChildPropName="GetLogicalTemperatureRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalTemperature" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalTemperature" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalTemperature" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalSmokeDetector" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSmokeDetector" msprop:rel_Generator_ChildPropName="GetLogicalSmokeDetectorRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSmokeDetector" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSmokeDetector" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalSmokeDetector" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSmokeDetector" msprop:rel_Generator_ChildPropName="GetLogicalSmokeDetectorRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSmokeDetector" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSmokeDetector" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalSmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalPeripheral" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalPeripheral" msprop:rel_Generator_ChildPropName="GetLogicalPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalPeripheral" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalPeripheral" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalPeripheral" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalPeripheral" msprop:rel_Generator_ChildPropName="GetLogicalPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalPeripheral" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalPeripheral" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalPeripheral" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWindow" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRowsByLogicalInput_VirtualWindow" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWindow" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWindow" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWindow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="VirtualDevice_VirtualWindow" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWindow" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWindow" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualWindow" />
-      <xs:field xpath="mstns:AlarmInputUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWindow1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRowsByLogicalInput_VirtualWindow1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWindow1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWindow1" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWindow1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWindow1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRowsByLogicalInput_VirtualWindow1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWindow1" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWindow1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWindow1" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualWindow" />
       <xs:field xpath="mstns:TamperInputUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualWindow" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWindow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWindow" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="LogicalInput_VirtualWindow" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRowsByLogicalInput_VirtualWindow" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWindow" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWindow" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWindow" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualWindow" />
+      <xs:field xpath="mstns:AlarmInputUID" />
+    </xs:keyref>
+    <xs:keyref name="VirtualDevice_VirtualRelay" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualRelay" msprop:rel_Generator_ChildPropName="GetVirtualRelayRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualRelay" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualRelay" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualRelay" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualRelay" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualRelay" msprop:rel_Generator_ChildPropName="GetVirtualRelayRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualRelay" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualRelay" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow">
+    <xs:keyref name="LogicalOutput_VirtualRelay" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualRelay" msprop:rel_Generator_ChildPropName="GetVirtualRelayRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualRelay" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualRelay" msprop:rel_Generator_UserParentTable="LogicalOutput">
       <xs:selector xpath=".//mstns:VirtualRelay" />
       <xs:field xpath="mstns:LogicalOutputUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualRelay" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualRelay" msprop:rel_Generator_ChildPropName="GetVirtualRelayRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualRelay" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualRelay" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualRelay" />
-      <xs:field xpath="mstns:UID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualKeySwitch" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeySwitch" msprop:rel_Generator_ChildPropName="GetVirtualKeySwitchRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualKeySwitch" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualKeySwitch" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="LogicalInput_VirtualKeySwitch" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeySwitch" msprop:rel_Generator_ChildPropName="GetVirtualKeySwitchRows" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualKeySwitch" msprop:rel_Generator_ParentPropName="LogicalInputRow" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualKeySwitch" msprop:rel_Generator_UserParentTable="LogicalInput">
       <xs:selector xpath=".//mstns:VirtualKeySwitch" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalInputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualKeySwitch" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeySwitch" msprop:rel_Generator_ChildPropName="GetVirtualKeySwitchRows" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualKeySwitch" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualKeySwitch" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRow">
+    <xs:keyref name="VirtualDevice_VirtualKeySwitch" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeySwitch" msprop:rel_Generator_ChildPropName="GetVirtualKeySwitchRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualKeySwitch" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualKeySwitch" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualKeySwitch" />
-      <xs:field xpath="mstns:LogicalInputUID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualUserInterface_VirtualKeyboardReader" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboardReader" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardReaderRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualKeyboardReader" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualKeyboardReader" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualKeyboardReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalKeyboardReader_VirtualKeyboardReader" refer="LogicalKeyboardReader_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboardReader" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardReaderRows" msprop:rel_Generator_UserRelationName="LogicalKeyboardReader_VirtualKeyboardReader" msprop:rel_Generator_RelationVarName="relationLogicalKeyboardReader_VirtualKeyboardReader" msprop:rel_Generator_UserParentTable="LogicalKeyboardReader" msprop:rel_Generator_ParentPropName="LogicalKeyboardReaderRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalKeyboardReader_VirtualKeyboardReader" refer="LogicalKeyboardReader_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboardReader" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardReaderRows" msprop:rel_Generator_UserRelationName="LogicalKeyboardReader_VirtualKeyboardReader" msprop:rel_Generator_ParentPropName="LogicalKeyboardReaderRow" msprop:rel_Generator_RelationVarName="relationLogicalKeyboardReader_VirtualKeyboardReader" msprop:rel_Generator_UserParentTable="LogicalKeyboardReader" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualKeyboardReader" />
       <xs:field xpath="mstns:LogicalKeyboardReaderUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualUserInterface_VirtualKeyboard" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboard" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualKeyboard" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualKeyboard" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualKeyboard" />
+    <xs:keyref name="VirtualUserInterface_VirtualKeyboardReader" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboardReader" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardReaderRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualKeyboardReader" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualKeyboardReader" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualKeyboardReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalKeyboard_VirtualKeyboard" refer="LogicalKeyboard_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboard" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardRows" msprop:rel_Generator_UserRelationName="LogicalKeyboard_VirtualKeyboard" msprop:rel_Generator_RelationVarName="relationLogicalKeyboard_VirtualKeyboard" msprop:rel_Generator_UserParentTable="LogicalKeyboard" msprop:rel_Generator_ParentPropName="LogicalKeyboardRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalKeyboard_VirtualKeyboard" refer="LogicalKeyboard_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboard" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardRows" msprop:rel_Generator_UserRelationName="LogicalKeyboard_VirtualKeyboard" msprop:rel_Generator_ParentPropName="LogicalKeyboardRow" msprop:rel_Generator_RelationVarName="relationLogicalKeyboard_VirtualKeyboard" msprop:rel_Generator_UserParentTable="LogicalKeyboard" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualKeyboard" />
       <xs:field xpath="mstns:LogicalKeyboardUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualUserInterface_VirtualReader" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualReader" msprop:rel_Generator_ChildPropName="GetVirtualReaderRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualReader" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualReader" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualReader" />
+    <xs:keyref name="VirtualUserInterface_VirtualKeyboard" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboard" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualKeyboard" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualKeyboard" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualKeyboard" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalReader_VirtualReader" refer="LogicalReader_Constraint1" msprop:rel_Generator_UserChildTable="VirtualReader" msprop:rel_Generator_ChildPropName="GetVirtualReaderRows" msprop:rel_Generator_UserRelationName="LogicalReader_VirtualReader" msprop:rel_Generator_RelationVarName="relationLogicalReader_VirtualReader" msprop:rel_Generator_UserParentTable="LogicalReader" msprop:rel_Generator_ParentPropName="LogicalReaderRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalReader_VirtualReader" refer="LogicalReader_Constraint1" msprop:rel_Generator_UserChildTable="VirtualReader" msprop:rel_Generator_ChildPropName="GetVirtualReaderRows" msprop:rel_Generator_UserRelationName="LogicalReader_VirtualReader" msprop:rel_Generator_ParentPropName="LogicalReaderRow" msprop:rel_Generator_RelationVarName="relationLogicalReader_VirtualReader" msprop:rel_Generator_UserParentTable="LogicalReader" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualReader" />
       <xs:field xpath="mstns:LogicalReaderUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalSMS_VirtualSMS" refer="LogicalSMS_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSMS" msprop:rel_Generator_ChildPropName="GetVirtualSMSRows" msprop:rel_Generator_UserRelationName="LogicalSMS_VirtualSMS" msprop:rel_Generator_RelationVarName="relationLogicalSMS_VirtualSMS" msprop:rel_Generator_UserParentTable="LogicalSMS" msprop:rel_Generator_ParentPropName="LogicalSMSRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualUserInterface_VirtualReader" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualReader" msprop:rel_Generator_ChildPropName="GetVirtualReaderRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualReader" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualReader" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualReader" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="VirtualDevice_VirtualSMS" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSMS" msprop:rel_Generator_ChildPropName="GetVirtualSMSRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSMS" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSMS" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualSMS" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="LogicalSMS_VirtualSMS" refer="LogicalSMS_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSMS" msprop:rel_Generator_ChildPropName="GetVirtualSMSRows" msprop:rel_Generator_UserRelationName="LogicalSMS_VirtualSMS" msprop:rel_Generator_ParentPropName="LogicalSMSRow" msprop:rel_Generator_RelationVarName="relationLogicalSMS_VirtualSMS" msprop:rel_Generator_UserParentTable="LogicalSMS" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualSMS" />
       <xs:field xpath="mstns:LogicalSMSUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualSMS" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSMS" msprop:rel_Generator_ChildPropName="GetVirtualSMSRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSMS" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSMS" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualSMS" />
+    <xs:keyref name="VirtualDevice_VirtualCamera" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCamera" msprop:rel_Generator_ChildPropName="GetVirtualCameraRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualCamera" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualCamera" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualCamera" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalCamera_VirtualCamera" refer="LogicalCamera_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCamera" msprop:rel_Generator_ChildPropName="GetVirtualCameraRows" msprop:rel_Generator_UserRelationName="LogicalCamera_VirtualCamera" msprop:rel_Generator_RelationVarName="relationLogicalCamera_VirtualCamera" msprop:rel_Generator_UserParentTable="LogicalCamera" msprop:rel_Generator_ParentPropName="LogicalCameraRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalCamera_VirtualCamera" refer="LogicalCamera_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCamera" msprop:rel_Generator_ChildPropName="GetVirtualCameraRows" msprop:rel_Generator_UserRelationName="LogicalCamera_VirtualCamera" msprop:rel_Generator_ParentPropName="LogicalCameraRow" msprop:rel_Generator_RelationVarName="relationLogicalCamera_VirtualCamera" msprop:rel_Generator_UserParentTable="LogicalCamera" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualCamera" />
       <xs:field xpath="mstns:LogicalCameraUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualCamera" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCamera" msprop:rel_Generator_ChildPropName="GetVirtualCameraRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualCamera" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualCamera" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualCamera" />
+    <xs:keyref name="VirtualDevice_VirtualEmail" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualEmail" msprop:rel_Generator_ChildPropName="GetVirtualEmailRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualEmail" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualEmail" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualEmail" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalEmail_VirtualEmail" refer="LogicalEmail_Constraint1" msprop:rel_Generator_UserChildTable="VirtualEmail" msprop:rel_Generator_ChildPropName="GetVirtualEmailRows" msprop:rel_Generator_UserRelationName="LogicalEmail_VirtualEmail" msprop:rel_Generator_RelationVarName="relationLogicalEmail_VirtualEmail" msprop:rel_Generator_UserParentTable="LogicalEmail" msprop:rel_Generator_ParentPropName="LogicalEmailRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalEmail_VirtualEmail" refer="LogicalEmail_Constraint1" msprop:rel_Generator_UserChildTable="VirtualEmail" msprop:rel_Generator_ChildPropName="GetVirtualEmailRows" msprop:rel_Generator_UserRelationName="LogicalEmail_VirtualEmail" msprop:rel_Generator_ParentPropName="LogicalEmailRow" msprop:rel_Generator_RelationVarName="relationLogicalEmail_VirtualEmail" msprop:rel_Generator_UserParentTable="LogicalEmail" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualEmail" />
       <xs:field xpath="mstns:LogicalEmailUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualEmail" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualEmail" msprop:rel_Generator_ChildPropName="GetVirtualEmailRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualEmail" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualEmail" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualEmail" />
+    <xs:keyref name="VirtualDevice_VirtualSounder" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSounder" msprop:rel_Generator_ChildPropName="GetVirtualSounderRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSounder" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSounder" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualSounder" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalSounder_VirtualSounder" refer="LogicalSounder_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSounder" msprop:rel_Generator_ChildPropName="GetVirtualSounderRows" msprop:rel_Generator_UserRelationName="LogicalSounder_VirtualSounder" msprop:rel_Generator_RelationVarName="relationLogicalSounder_VirtualSounder" msprop:rel_Generator_UserParentTable="LogicalSounder" msprop:rel_Generator_ParentPropName="LogicalSounderRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalSounder_VirtualSounder" refer="LogicalSounder_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSounder" msprop:rel_Generator_ChildPropName="GetVirtualSounderRows" msprop:rel_Generator_UserRelationName="LogicalSounder_VirtualSounder" msprop:rel_Generator_ParentPropName="LogicalSounderRow" msprop:rel_Generator_RelationVarName="relationLogicalSounder_VirtualSounder" msprop:rel_Generator_UserParentTable="LogicalSounder" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualSounder" />
       <xs:field xpath="mstns:LogicalSirenUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualSounder" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSounder" msprop:rel_Generator_ChildPropName="GetVirtualSounderRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSounder" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSounder" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualSounder" />
-      <xs:field xpath="mstns:UID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualWiredDoor" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDoor_VirtualHardwiredDoor" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRows" msprop:rel_Generator_UserRelationName="VirtualDoor_VirtualHardwiredDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow" msprop:rel_Generator_RelationVarName="relationVirtualDoor_VirtualHardwiredDoor" msprop:rel_Generator_UserParentTable="VirtualDoor">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredDoor1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredDoor2" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor2" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:LatchContactUID" />
+      <xs:field xpath="mstns:BoltContactUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredDoor" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredDoor" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:StateContactUID" />
+      <xs:field xpath="mstns:OpenerRelayUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredDoor6" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor6">
+    <xs:keyref name="LogicalOutput_VirtualWiredDoor1" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:EscapeRelayUID" />
+      <xs:field xpath="mstns:PrealarmRelayUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredDoor2" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredDoor2" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
       <xs:field xpath="mstns:LockRelayUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredDoor1" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredDoor6" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_UserParentTable="LogicalOutput">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:PrealarmRelayUID" />
+      <xs:field xpath="mstns:EscapeRelayUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredDoor" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredDoor" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:OpenerRelayUID" />
+      <xs:field xpath="mstns:StateContactUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredDoor2" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor2" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredDoor1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor1" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:BoltContactUID" />
+      <xs:field xpath="mstns:LatchContactUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDoor_VirtualHardwiredDoor" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRows" msprop:rel_Generator_UserRelationName="VirtualDoor_VirtualHardwiredDoor" msprop:rel_Generator_RelationVarName="relationVirtualDoor_VirtualHardwiredDoor" msprop:rel_Generator_UserParentTable="VirtualDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow">
+    <xs:keyref name="VirtualDevice_VirtualWiredDoor" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWiredDoor" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredPIR" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR" msdata:DeleteRule="SetNull">
+    <xs:keyref name="VirtualPIR_VirtualHardwiredPIR" refer="VirtualPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRows" msprop:rel_Generator_UserRelationName="VirtualPIR_VirtualHardwiredPIR" msprop:rel_Generator_ParentPropName="VirtualPIRRow" msprop:rel_Generator_RelationVarName="relationVirtualPIR_VirtualHardwiredPIR" msprop:rel_Generator_UserParentTable="VirtualPIR">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:AlarmInputUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredPIR1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredPIR2" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:TamperInputUID" />
+      <xs:field xpath="mstns:WalkTestOutputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredPIR2" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR2" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredPIR1" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:FaultInputUID" />
+      <xs:field xpath="mstns:SetOutputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredPIR1" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredPIR1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredPIR2" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR2" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:SetOutputUID" />
+      <xs:field xpath="mstns:FaultInputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredPIR2" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredPIR2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredPIR1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR1" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:WalkTestOutputUID" />
+      <xs:field xpath="mstns:TamperInputUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualPIR_VirtualHardwiredPIR" refer="VirtualPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRows" msprop:rel_Generator_UserRelationName="VirtualPIR_VirtualHardwiredPIR" msprop:rel_Generator_RelationVarName="relationVirtualPIR_VirtualHardwiredPIR" msprop:rel_Generator_UserParentTable="VirtualPIR" msprop:rel_Generator_ParentPropName="VirtualPIRRow">
+    <xs:keyref name="LogicalInput_VirtualWiredPIR" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:AlarmInputUID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HardwareDevice" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HardwareDevice" msprop:rel_Generator_ChildPropName="GetHardwareDeviceRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HardwareDevice" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HardwareDevice" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRowParent">
+    <xs:keyref name="CatalogueData_HardwareDevice" refer="CatalogueData_Constraint1" msprop:rel_Generator_UserChildTable="HardwareDevice" msprop:rel_Generator_ChildPropName="GetHardwareDeviceRows" msprop:rel_Generator_UserRelationName="CatalogueData_HardwareDevice" msprop:rel_Generator_ParentPropName="CatalogueDataRow" msprop:rel_Generator_RelationVarName="relationCatalogueData_HardwareDevice" msprop:rel_Generator_UserParentTable="CatalogueData" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:HardwareDevice" />
-      <xs:field xpath="mstns:ParentDeviceUID" />
+      <xs:field xpath="mstns:Type" />
     </xs:keyref>
-    <xs:keyref name="CatalogueData_HardwareDevice" refer="CatalogueData_Constraint1" msprop:rel_Generator_UserChildTable="HardwareDevice" msprop:rel_Generator_ChildPropName="GetHardwareDeviceRows" msprop:rel_Generator_UserRelationName="CatalogueData_HardwareDevice" msprop:rel_Generator_RelationVarName="relationCatalogueData_HardwareDevice" msprop:rel_Generator_UserParentTable="CatalogueData" msprop:rel_Generator_ParentPropName="CatalogueDataRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="HardwareDevice_HardwareDevice" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HardwareDevice" msprop:rel_Generator_ChildPropName="GetHardwareDeviceRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRowParent" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HardwareDevice" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:HardwareDevice" />
-      <xs:field xpath="mstns:Type" />
+      <xs:field xpath="mstns:ParentDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_LogicalDevice" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDevice" msprop:rel_Generator_ChildPropName="GetLogicalDeviceRows" msprop:rel_Generator_UserRelationName="HardwareDevice_LogicalDevice" msprop:rel_Generator_RelationVarName="relationHardwareDevice_LogicalDevice" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="HardwareDevice_LogicalDevice" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDevice" msprop:rel_Generator_ChildPropName="GetLogicalDeviceRows" msprop:rel_Generator_UserRelationName="HardwareDevice_LogicalDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_LogicalDevice" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:LogicalDevice" />
       <xs:field xpath="mstns:HardwareDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_VirtualDevice" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDevice" msprop:rel_Generator_ChildPropName="GetVirtualDeviceRows" msprop:rel_Generator_UserRelationName="LogicalDevice_VirtualDevice" msprop:rel_Generator_RelationVarName="relationLogicalDevice_VirtualDevice" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="PartitionMember_VirtualDevice" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDevice" msprop:rel_Generator_ChildPropName="GetVirtualDeviceRows" msprop:rel_Generator_UserRelationName="PartitionMember_VirtualDevice" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msprop:rel_Generator_RelationVarName="relationPartitionMember_VirtualDevice" msprop:rel_Generator_UserParentTable="PartitionMember" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualDevice" />
-      <xs:field xpath="mstns:HWUID" />
+      <xs:field xpath="mstns:Owner" />
     </xs:keyref>
-    <xs:keyref name="PartitionMember_VirtualDevice" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDevice" msprop:rel_Generator_ChildPropName="GetVirtualDeviceRows" msprop:rel_Generator_UserRelationName="PartitionMember_VirtualDevice" msprop:rel_Generator_RelationVarName="relationPartitionMember_VirtualDevice" msprop:rel_Generator_UserParentTable="PartitionMember" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalDevice_VirtualDevice" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDevice" msprop:rel_Generator_ChildPropName="GetVirtualDeviceRows" msprop:rel_Generator_UserRelationName="LogicalDevice_VirtualDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_VirtualDevice" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:VirtualDevice" />
-      <xs:field xpath="mstns:Owner" />
+      <xs:field xpath="mstns:HWUID" />
     </xs:keyref>
-    <xs:keyref name="Floor_Room" refer="Floor_Constraint1" msprop:rel_Generator_UserChildTable="Room" msprop:rel_Generator_ChildPropName="GetRoomRows" msprop:rel_Generator_UserRelationName="Floor_Room" msprop:rel_Generator_RelationVarName="relationFloor_Room" msprop:rel_Generator_UserParentTable="Floor" msprop:rel_Generator_ParentPropName="FloorRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Floor_Room" refer="Floor_Constraint1" msprop:rel_Generator_UserChildTable="Room" msprop:rel_Generator_ChildPropName="GetRoomRows" msprop:rel_Generator_UserRelationName="Floor_Room" msprop:rel_Generator_ParentPropName="FloorRow" msprop:rel_Generator_RelationVarName="relationFloor_Room" msprop:rel_Generator_UserParentTable="Floor" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Room" />
       <xs:field xpath="mstns:Floor_UID" />
     </xs:keyref>
-    <xs:keyref name="Building_Floor" refer="Building_Constraint1" msprop:rel_Generator_UserChildTable="Floor" msprop:rel_Generator_ChildPropName="GetFloorRows" msprop:rel_Generator_UserRelationName="Building_Floor" msprop:rel_Generator_RelationVarName="relationBuilding_Floor" msprop:rel_Generator_UserParentTable="Building" msprop:rel_Generator_ParentPropName="BuildingRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Building_Floor" refer="Building_Constraint1" msprop:rel_Generator_UserChildTable="Floor" msprop:rel_Generator_ChildPropName="GetFloorRows" msprop:rel_Generator_UserRelationName="Building_Floor" msprop:rel_Generator_ParentPropName="BuildingRow" msprop:rel_Generator_RelationVarName="relationBuilding_Floor" msprop:rel_Generator_UserParentTable="Building" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Floor" />
       <xs:field xpath="mstns:Building_UID" />
     </xs:keyref>
-    <xs:keyref name="Object_Building" refer="Object_Constraint1" msprop:rel_Generator_UserChildTable="Building" msprop:rel_Generator_ChildPropName="GetBuildingRows" msprop:rel_Generator_UserRelationName="Object_Building" msprop:rel_Generator_RelationVarName="relationObject_Building" msprop:rel_Generator_UserParentTable="Object" msprop:rel_Generator_ParentPropName="ObjectRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Object_Building" refer="Object_Constraint1" msprop:rel_Generator_UserChildTable="Building" msprop:rel_Generator_ChildPropName="GetBuildingRows" msprop:rel_Generator_UserRelationName="Object_Building" msprop:rel_Generator_ParentPropName="ObjectRow" msprop:rel_Generator_RelationVarName="relationObject_Building" msprop:rel_Generator_UserParentTable="Object" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Building" />
       <xs:field xpath="mstns:Object_UID" />
     </xs:keyref>
-    <xs:keyref name="Command_ActionList_Command" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Action_Command" msprop:rel_Generator_ChildPropName="GetAction_CommandRows" msprop:rel_Generator_UserRelationName="Command_ActionList_Command" msprop:rel_Generator_RelationVarName="relationCommand_ActionList_Command" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="ActionList_ActionList_Command" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Action_Command" msprop:rel_Generator_ChildPropName="GetAction_CommandRows" msprop:rel_Generator_UserRelationName="ActionList_ActionList_Command" msprop:rel_Generator_ParentPropName="ActionRow" msprop:rel_Generator_RelationVarName="relationActionList_ActionList_Command" msprop:rel_Generator_UserParentTable="Action" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Action_Command" />
-      <xs:field xpath="mstns:Command_UID" />
+      <xs:field xpath="mstns:Action_UID" />
     </xs:keyref>
-    <xs:keyref name="ActionList_ActionList_Command" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Action_Command" msprop:rel_Generator_ChildPropName="GetAction_CommandRows" msprop:rel_Generator_UserRelationName="ActionList_ActionList_Command" msprop:rel_Generator_RelationVarName="relationActionList_ActionList_Command" msprop:rel_Generator_UserParentTable="Action" msprop:rel_Generator_ParentPropName="ActionRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_ActionList_Command" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Action_Command" msprop:rel_Generator_ChildPropName="GetAction_CommandRows" msprop:rel_Generator_UserRelationName="Command_ActionList_Command" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_ActionList_Command" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Action_Command" />
-      <xs:field xpath="mstns:Action_UID" />
+      <xs:field xpath="mstns:Command_UID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_FaultTries" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="FailAttempt" msprop:rel_Generator_ChildPropName="GetFailAttemptRows" msprop:rel_Generator_UserRelationName="AccessPoint_FaultTries" msprop:rel_Generator_RelationVarName="relationAccessPoint_FaultTries" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="AccessPoint_FaultTries" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="FailAttempt" msprop:rel_Generator_ChildPropName="GetFailAttemptRows" msprop:rel_Generator_UserRelationName="AccessPoint_FaultTries" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_FaultTries" msprop:rel_Generator_UserParentTable="AccessPoint" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:FailAttempt" />
       <xs:field xpath="mstns:AccessPoint_UID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_MultiplePersonAccess" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="MultiplePersonAccess" msprop:rel_Generator_ChildPropName="GetMultiplePersonAccessRows" msprop:rel_Generator_UserRelationName="AccessPoint_MultiplePersonAccess" msprop:rel_Generator_RelationVarName="relationAccessPoint_MultiplePersonAccess" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="AccessPoint_MultiplePersonAccess" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="MultiplePersonAccess" msprop:rel_Generator_ChildPropName="GetMultiplePersonAccessRows" msprop:rel_Generator_UserRelationName="AccessPoint_MultiplePersonAccess" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_MultiplePersonAccess" msprop:rel_Generator_UserParentTable="AccessPoint" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:MultiplePersonAccess" />
       <xs:field xpath="mstns:AccessPoint_UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_Port" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="Port" msprop:rel_Generator_ChildPropName="GetPortRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_Port" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_Port" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="FK_HardwareDevice_Port" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="Port" msprop:rel_Generator_ChildPropName="GetPortRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_Port" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_Port" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:Port" />
       <xs:field xpath="mstns:ControllerUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalDoor" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDoor" msprop:rel_Generator_ChildPropName="GetLogicalDoorRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalDoor" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalDoor" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalDoor" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDoor" msprop:rel_Generator_ChildPropName="GetLogicalDoorRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalDoor" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalDoor" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalDoor" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalCamera" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalCamera" msprop:rel_Generator_ChildPropName="GetLogicalCameraRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalCamera" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalCamera" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalCamera" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalCamera" msprop:rel_Generator_ChildPropName="GetLogicalCameraRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalCamera" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalCamera" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalCamera" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_Expression" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Expression" msprop:rel_Generator_ChildPropName="GetExpressionRows" msprop:rel_Generator_UserRelationName="Trigger_Expression" msprop:rel_Generator_RelationVarName="relationTrigger_Expression" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="Trigger_Expression" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Expression" msprop:rel_Generator_ChildPropName="GetExpressionRows" msprop:rel_Generator_UserRelationName="Trigger_Expression" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_Expression" msprop:rel_Generator_UserParentTable="Trigger" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:Expression" />
       <xs:field xpath="mstns:TriggerUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalSMS" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSMS" msprop:rel_Generator_ChildPropName="GetLogicalSMSRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSMS" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSMS" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalSMS" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSMS" msprop:rel_Generator_ChildPropName="GetLogicalSMSRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSMS" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSMS" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalSMS" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalEmail" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalEmail" msprop:rel_Generator_ChildPropName="GetLogicalEmailRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalEmail" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalEmail" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalEmail" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalEmail" msprop:rel_Generator_ChildPropName="GetLogicalEmailRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalEmail" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalEmail" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalEmail" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalSiren" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSounder" msprop:rel_Generator_ChildPropName="GetLogicalSirenRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSounder" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSounder" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:RelationName="LogicalDevice_LogicalSounder" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalSiren" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSounder" msprop:rel_Generator_ChildPropName="GetLogicalSirenRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSounder" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSounder" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:RelationName="LogicalDevice_LogicalSounder" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalSounder" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalOutput" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalOutput" msprop:rel_Generator_ChildPropName="GetLogicalOutputRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalOutput" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalOutput" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalOutput" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalOutput" msprop:rel_Generator_ChildPropName="GetLogicalOutputRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalOutput" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalOutput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalInput" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalInput" msprop:rel_Generator_ChildPropName="GetLogicalInputRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalInput" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalInput" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalInput" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalInput" msprop:rel_Generator_ChildPropName="GetLogicalInputRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalInput" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalInput" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalInput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalPIR" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalPIR" msprop:rel_Generator_ChildPropName="GetLogicalPIRRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalPIR" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalPIR" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalPIR" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalPIR" msprop:rel_Generator_ChildPropName="GetLogicalPIRRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalPIR" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalPIR" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalPIR" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Condition_Macro" refer="Condition_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRows" msprop:rel_Generator_UserRelationName="Condition_Macro" msprop:rel_Generator_RelationVarName="relationCondition_Macro" msprop:rel_Generator_UserParentTable="Condition" msprop:rel_Generator_ParentPropName="ConditionRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="ActionOn_Macro" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRowsByActionOn_Macro" msprop:rel_Generator_UserRelationName="ActionOn_Macro" msprop:rel_Generator_ParentPropName="ActionRowByActionOn_Macro" msprop:rel_Generator_RelationVarName="relationActionOn_Macro" msprop:rel_Generator_UserParentTable="Action" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:Macro" />
-      <xs:field xpath="mstns:ConditionUID" />
+      <xs:field xpath="mstns:ActionOnUID" />
     </xs:keyref>
-    <xs:keyref name="ActionOff_Macro" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRowsByActionOff_Macro" msprop:rel_Generator_UserRelationName="ActionOff_Macro" msprop:rel_Generator_RelationVarName="relationActionOff_Macro" msprop:rel_Generator_UserParentTable="Action" msprop:rel_Generator_ParentPropName="ActionRowByActionOff_Macro" msdata:DeleteRule="SetNull">
+    <xs:keyref name="ActionOff_Macro" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRowsByActionOff_Macro" msprop:rel_Generator_UserRelationName="ActionOff_Macro" msprop:rel_Generator_ParentPropName="ActionRowByActionOff_Macro" msprop:rel_Generator_RelationVarName="relationActionOff_Macro" msprop:rel_Generator_UserParentTable="Action" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:Macro" />
       <xs:field xpath="mstns:ActionOffUID" />
     </xs:keyref>
-    <xs:keyref name="ActionOn_Macro" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRowsByActionOn_Macro" msprop:rel_Generator_UserRelationName="ActionOn_Macro" msprop:rel_Generator_RelationVarName="relationActionOn_Macro" msprop:rel_Generator_UserParentTable="Action" msprop:rel_Generator_ParentPropName="ActionRowByActionOn_Macro" msdata:DeleteRule="SetNull">
+    <xs:keyref name="Condition_Macro" refer="Condition_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRows" msprop:rel_Generator_UserRelationName="Condition_Macro" msprop:rel_Generator_ParentPropName="ConditionRow" msprop:rel_Generator_RelationVarName="relationCondition_Macro" msprop:rel_Generator_UserParentTable="Condition" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:Macro" />
-      <xs:field xpath="mstns:ActionOnUID" />
+      <xs:field xpath="mstns:ConditionUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDoor_VirtualBusDoor" refer="LogicalDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusDoor" msprop:rel_Generator_ChildPropName="GetVirtualBusDoorRows" msprop:rel_Generator_UserRelationName="LogicalDoor_VirtualBusDoor" msprop:rel_Generator_RelationVarName="relationLogicalDoor_VirtualBusDoor" msprop:rel_Generator_UserParentTable="LogicalDoor" msprop:rel_Generator_ParentPropName="LogicalDoorRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDoor_VirtualBusDoor" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusDoor" msprop:rel_Generator_ChildPropName="GetVirtualBusDoorRows" msprop:rel_Generator_UserRelationName="VirtualDoor_VirtualBusDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow" msprop:rel_Generator_RelationVarName="relationVirtualDoor_VirtualBusDoor" msprop:rel_Generator_UserParentTable="VirtualDoor">
       <xs:selector xpath=".//mstns:VirtualBusDoor" />
-      <xs:field xpath="mstns:LogicalDoorUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDoor_VirtualBusDoor" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusDoor" msprop:rel_Generator_ChildPropName="GetVirtualBusDoorRows" msprop:rel_Generator_UserRelationName="VirtualDoor_VirtualBusDoor" msprop:rel_Generator_RelationVarName="relationVirtualDoor_VirtualBusDoor" msprop:rel_Generator_UserParentTable="VirtualDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow">
+    <xs:keyref name="LogicalDoor_VirtualBusDoor" refer="LogicalDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusDoor" msprop:rel_Generator_ChildPropName="GetVirtualBusDoorRows" msprop:rel_Generator_UserRelationName="LogicalDoor_VirtualBusDoor" msprop:rel_Generator_ParentPropName="LogicalDoorRow" msprop:rel_Generator_RelationVarName="relationLogicalDoor_VirtualBusDoor" msprop:rel_Generator_UserParentTable="LogicalDoor" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualBusDoor" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalDoorUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalAccessPoint_AccessPoint" refer="LogicalAccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint" msprop:rel_Generator_ChildPropName="GetAccessPointRows" msprop:rel_Generator_UserRelationName="FK_LogicalAccessPoint_AccessPoint" msprop:rel_Generator_RelationVarName="relationFK_LogicalAccessPoint_AccessPoint" msprop:rel_Generator_UserParentTable="LogicalAccessPoint" msprop:rel_Generator_ParentPropName="LogicalAccessPointRow">
+    <xs:keyref name="FK_LogicalAccessPoint_AccessPoint" refer="LogicalAccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint" msprop:rel_Generator_ChildPropName="GetAccessPointRows" msprop:rel_Generator_UserRelationName="FK_LogicalAccessPoint_AccessPoint" msprop:rel_Generator_ParentPropName="LogicalAccessPointRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalAccessPoint_AccessPoint" msprop:rel_Generator_UserParentTable="LogicalAccessPoint">
       <xs:selector xpath=".//mstns:AccessPoint" />
       <xs:field xpath="mstns:LogicalAccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualUserInterface" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualUserInterface" msprop:rel_Generator_ChildPropName="GetVirtualUserInterfaceRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualUserInterface" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualUserInterface" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualUserInterface" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualUserInterface" msprop:rel_Generator_ChildPropName="GetVirtualUserInterfaceRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualUserInterface" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualUserInterface" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualUserInterface" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualOutput" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualOutput" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualOutput" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Signal_VirtualOutput" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="FK_Signal_VirtualOutput" msprop:rel_Generator_ParentPropName="SignalRow" msprop:rel_Generator_RelationVarName="relationFK_Signal_VirtualOutput" msprop:rel_Generator_UserParentTable="Signal" msdata:AcceptRejectRule="Cascade" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualOutput" />
-      <xs:field xpath="mstns:LogicalOutputUID" />
+      <xs:field xpath="mstns:SignalUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualOutput" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualOutput" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualOutput" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualOutput" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualOutput" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualOutput" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualOutput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Signal_VirtualOutput" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="FK_Signal_VirtualOutput" msprop:rel_Generator_RelationVarName="relationFK_Signal_VirtualOutput" msprop:rel_Generator_UserParentTable="Signal" msprop:rel_Generator_ParentPropName="SignalRow" msdata:AcceptRejectRule="Cascade" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualOutput" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualOutput" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualOutput" />
-      <xs:field xpath="mstns:SignalUID" />
+      <xs:field xpath="mstns:LogicalOutputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualInput" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualInput" msprop:rel_Generator_ChildPropName="GetVirtualInputRows" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualInput" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualInput" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualInput" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualInput" msprop:rel_Generator_ChildPropName="GetVirtualInputRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualInput" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualInput" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualInput" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="LogicalInput_VirtualInput" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualInput" msprop:rel_Generator_ChildPropName="GetVirtualInputRows" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualInput" msprop:rel_Generator_ParentPropName="LogicalInputRow" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualInput" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualInput" />
       <xs:field xpath="mstns:LogicalInputUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualInput" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualInput" msprop:rel_Generator_ChildPropName="GetVirtualInputRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualInput" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualInput" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualInput" />
+    <xs:keyref name="VirtualPIR_VirtualBusPIR" refer="VirtualPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusPIR" msprop:rel_Generator_ChildPropName="GetVirtualBusPIRRows" msprop:rel_Generator_UserRelationName="VirtualPIR_VirtualBusPIR" msprop:rel_Generator_ParentPropName="VirtualPIRRow" msprop:rel_Generator_RelationVarName="relationVirtualPIR_VirtualBusPIR" msprop:rel_Generator_UserParentTable="VirtualPIR">
+      <xs:selector xpath=".//mstns:VirtualBusPIR" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalPIR_VirtualBusPIR" refer="LogicalPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusPIR" msprop:rel_Generator_ChildPropName="GetVirtualBusPIRRows" msprop:rel_Generator_UserRelationName="LogicalPIR_VirtualBusPIR" msprop:rel_Generator_RelationVarName="relationLogicalPIR_VirtualBusPIR" msprop:rel_Generator_UserParentTable="LogicalPIR" msprop:rel_Generator_ParentPropName="LogicalPIRRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalPIR_VirtualBusPIR" refer="LogicalPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusPIR" msprop:rel_Generator_ChildPropName="GetVirtualBusPIRRows" msprop:rel_Generator_UserRelationName="LogicalPIR_VirtualBusPIR" msprop:rel_Generator_ParentPropName="LogicalPIRRow" msprop:rel_Generator_RelationVarName="relationLogicalPIR_VirtualBusPIR" msprop:rel_Generator_UserParentTable="LogicalPIR" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualBusPIR" />
       <xs:field xpath="mstns:LogicalPIRUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualPIR_VirtualBusPIR" refer="VirtualPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusPIR" msprop:rel_Generator_ChildPropName="GetVirtualBusPIRRows" msprop:rel_Generator_UserRelationName="VirtualPIR_VirtualBusPIR" msprop:rel_Generator_RelationVarName="relationVirtualPIR_VirtualBusPIR" msprop:rel_Generator_UserParentTable="VirtualPIR" msprop:rel_Generator_ParentPropName="VirtualPIRRow">
-      <xs:selector xpath=".//mstns:VirtualBusPIR" />
+    <xs:keyref name="PartitionMember_DetectorGroup" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="DetectorGroup" msprop:rel_Generator_ChildPropName="GetDetectorGroupRows" msprop:rel_Generator_UserRelationName="PartitionMember_DetectorGroup" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msprop:rel_Generator_RelationVarName="relationPartitionMember_DetectorGroup" msprop:rel_Generator_UserParentTable="PartitionMember" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:DetectorGroup" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_DetectorGroup" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="DetectorGroup" msprop:rel_Generator_ChildPropName="GetDetectorGroupRows" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_DetectorGroup" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_DetectorGroup" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_DetectorGroup" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="DetectorGroup" msprop:rel_Generator_ChildPropName="GetDetectorGroupRows" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_DetectorGroup" msprop:rel_Generator_ParentPropName="SounderTemplateRow" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_DetectorGroup" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:DetectorGroup" />
       <xs:field xpath="mstns:SounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="PartitionMember_DetectorGroup" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="DetectorGroup" msprop:rel_Generator_ChildPropName="GetDetectorGroupRows" msprop:rel_Generator_UserRelationName="PartitionMember_DetectorGroup" msprop:rel_Generator_RelationVarName="relationPartitionMember_DetectorGroup" msprop:rel_Generator_UserParentTable="PartitionMember" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:DetectorGroup" />
-      <xs:field xpath="mstns:UID" />
-    </xs:keyref>
   </xs:element>
   <xs:annotation>
     <xs:appinfo>
-      <msdata:Relationship name="PartitionMember_PMCollection_PartitionMember" msdata:parent="PartitionMember" msdata:child="PMCollection_PartitionMember" msdata:parentkey="UID" msdata:childkey="PartitionMemberUID" msprop:Generator_UserChildTable="PMCollection_PartitionMember" msprop:Generator_ChildPropName="GetPMCollection_PartitionMemberRows" msprop:Generator_UserRelationName="PartitionMember_PMCollection_PartitionMember" msprop:Generator_RelationVarName="relationPartitionMember_PMCollection_PartitionMember" msprop:Generator_UserParentTable="PartitionMember" msprop:Generator_ParentPropName="PartitionMemberRow" />
-      <msdata:Relationship name="PMCollection_PMCollection_PartitionMember" msdata:parent="PMCollection" msdata:child="PMCollection_PartitionMember" msdata:parentkey="UID" msdata:childkey="PMCollectionUID" msprop:Generator_UserChildTable="PMCollection_PartitionMember" msprop:Generator_ChildPropName="GetPMCollection_PartitionMemberRows" msprop:Generator_UserRelationName="PMCollection_PMCollection_PartitionMember" msprop:Generator_RelationVarName="relationPMCollection_PMCollection_PartitionMember" msprop:Generator_UserParentTable="PMCollection" msprop:Generator_ParentPropName="PMCollectionRow" />
-      <msdata:Relationship name="Expression_Condition" msdata:parent="Expression" msdata:child="Condition" msdata:parentkey="ExpressionUID" msdata:childkey="ExpressionRootUID" msprop:Generator_UserChildTable="Condition" msprop:Generator_ChildPropName="GetConditionRows" msprop:Generator_UserRelationName="Expression_Condition" msprop:Generator_RelationVarName="relationExpression_Condition" msprop:Generator_UserParentTable="Expression" msprop:Generator_ParentPropName="ExpressionRow" />
-      <msdata:Relationship name="VirtualPeripheral_VirtualDevice" msdata:parent="VirtualPeripheral" msdata:child="VirtualDevice" msdata:parentkey="UID" msdata:childkey="VirtualPeripheralUID" msprop:Generator_UserChildTable="VirtualDevice" msprop:Generator_ChildPropName="GetVirtualDeviceRows" msprop:Generator_UserRelationName="VirtualPeripheral_VirtualDevice" msprop:Generator_RelationVarName="relationVirtualPeripheral_VirtualDevice" msprop:Generator_UserParentTable="VirtualPeripheral" msprop:Generator_ParentPropName="VirtualPeripheralRow" />
-      <msdata:Relationship name="PartitionMember_AccessPoint" msdata:parent="PartitionMember" msdata:child="AccessPoint" msdata:parentkey="UID" msdata:childkey="UID" msprop:Generator_UserChildTable="AccessPoint" msprop:Generator_ChildPropName="GetAccessPointRows" msprop:Generator_UserRelationName="PartitionMember_AccessPoint" msprop:Generator_RelationVarName="relationPartitionMember_AccessPoint" msprop:Generator_UserParentTable="PartitionMember" msprop:Generator_ParentPropName="PartitionMemberRow" />
+      <msdata:Relationship name="PartitionMember_PMCollection_PartitionMember" msdata:parent="PartitionMember" msdata:child="PMCollection_PartitionMember" msdata:parentkey="UID" msdata:childkey="PartitionMemberUID" msprop:Generator_UserChildTable="PMCollection_PartitionMember" msprop:Generator_ChildPropName="GetPMCollection_PartitionMemberRows" msprop:Generator_UserRelationName="PartitionMember_PMCollection_PartitionMember" msprop:Generator_ParentPropName="PartitionMemberRow" msprop:Generator_RelationVarName="relationPartitionMember_PMCollection_PartitionMember" msprop:Generator_UserParentTable="PartitionMember" />
+      <msdata:Relationship name="PMCollection_PMCollection_PartitionMember" msdata:parent="PMCollection" msdata:child="PMCollection_PartitionMember" msdata:parentkey="UID" msdata:childkey="PMCollectionUID" msprop:Generator_UserChildTable="PMCollection_PartitionMember" msprop:Generator_ChildPropName="GetPMCollection_PartitionMemberRows" msprop:Generator_UserRelationName="PMCollection_PMCollection_PartitionMember" msprop:Generator_ParentPropName="PMCollectionRow" msprop:Generator_RelationVarName="relationPMCollection_PMCollection_PartitionMember" msprop:Generator_UserParentTable="PMCollection" />
+      <msdata:Relationship name="Expression_Condition" msdata:parent="Expression" msdata:child="Condition" msdata:parentkey="ExpressionUID" msdata:childkey="ExpressionRootUID" msprop:Generator_UserChildTable="Condition" msprop:Generator_ChildPropName="GetConditionRows" msprop:Generator_UserRelationName="Expression_Condition" msprop:Generator_ParentPropName="ExpressionRow" msprop:Generator_RelationVarName="relationExpression_Condition" msprop:Generator_UserParentTable="Expression" />
+      <msdata:Relationship name="VirtualPeripheral_VirtualDevice" msdata:parent="VirtualPeripheral" msdata:child="VirtualDevice" msdata:parentkey="UID" msdata:childkey="VirtualPeripheralUID" msprop:Generator_UserChildTable="VirtualDevice" msprop:Generator_ChildPropName="GetVirtualDeviceRows" msprop:Generator_UserRelationName="VirtualPeripheral_VirtualDevice" msprop:Generator_ParentPropName="VirtualPeripheralRow" msprop:Generator_RelationVarName="relationVirtualPeripheral_VirtualDevice" msprop:Generator_UserParentTable="VirtualPeripheral" />
+      <msdata:Relationship name="PartitionMember_AccessPoint" msdata:parent="PartitionMember" msdata:child="AccessPoint" msdata:parentkey="UID" msdata:childkey="UID" msprop:Generator_UserChildTable="AccessPoint" msprop:Generator_ChildPropName="GetAccessPointRows" msprop:Generator_UserRelationName="PartitionMember_AccessPoint" msprop:Generator_ParentPropName="PartitionMemberRow" msprop:Generator_RelationVarName="relationPartitionMember_AccessPoint" msprop:Generator_UserParentTable="PartitionMember" />
     </xs:appinfo>
   </xs:annotation>
 </xs:schema>
\ No newline at end of file
Index: ConfigApp.Data/InternalDataSet.xss
===================================================================
--- ConfigApp.Data/InternalDataSet.xss	(revision 3451)
+++ ConfigApp.Data/InternalDataSet.xss	(working copy)
@@ -4,84 +4,84 @@
      Changes to this file may cause incorrect behavior and will be lost if
      the code is regenerated.
 </autogenerated>-->
-<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="2277" ViewPortY="753" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
+<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="662" ViewPortY="962" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
   <Shapes>
     <Shape ID="DesignTable:Panel" ZOrder="274" X="1282" Y="536" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="121" />
-    <Shape ID="DesignTable:DetectorGroup" ZOrder="57" X="-1008" Y="912" Height="315" Width="185" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="311" />
-    <Shape ID="DesignTable:VirtualBusPIR" ZOrder="153" X="663" Y="192" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:VirtualInput" ZOrder="229" X="656" Y="506" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:DetectorGroup" ZOrder="58" X="-1008" Y="912" Height="315" Width="185" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="311" />
+    <Shape ID="DesignTable:VirtualBusPIR" ZOrder="154" X="663" Y="192" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:VirtualInput" ZOrder="230" X="656" Y="506" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
     <Shape ID="DesignTable:VirtualOutput" ZOrder="423" X="662" Y="1000" Height="162" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
-    <Shape ID="DesignTable:VirtualUserInterface" ZOrder="241" X="347" Y="2561" Height="68" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:AccessPoint" ZOrder="45" X="-395" Y="588" Height="486" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="482" />
-    <Shape ID="DesignTable:VirtualBusDoor" ZOrder="258" X="662" Y="1458" Height="163" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
-    <Shape ID="DesignTable:Trigger" ZOrder="186" X="1955" Y="2014" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Condition" ZOrder="183" X="1495" Y="2024" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:Command" ZOrder="185" X="1603" Y="2170" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Macro" ZOrder="56" X="1274" Y="1869" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
-    <Shape ID="DesignTable:Action" ZOrder="182" X="1355" Y="2194" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:LogicalPIR" ZOrder="225" X="959" Y="177" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:VirtualUserInterface" ZOrder="242" X="347" Y="2561" Height="68" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:AccessPoint" ZOrder="46" X="-395" Y="588" Height="486" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="482" />
+    <Shape ID="DesignTable:VirtualBusDoor" ZOrder="1" X="662" Y="1458" Height="200" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
+    <Shape ID="DesignTable:Trigger" ZOrder="187" X="1955" Y="2014" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Condition" ZOrder="184" X="1495" Y="2024" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Command" ZOrder="186" X="1603" Y="2170" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Macro" ZOrder="57" X="1274" Y="1869" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
+    <Shape ID="DesignTable:Action" ZOrder="183" X="1355" Y="2194" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:LogicalPIR" ZOrder="226" X="959" Y="177" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:LogicalInput" ZOrder="470" X="956" Y="652" Height="113" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" />
-    <Shape ID="DesignTable:LogicalOutput" ZOrder="198" X="957" Y="999" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:LogicalSounder" ZOrder="227" X="975" Y="381" Height="68" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalEmail" ZOrder="223" X="961" Y="-9" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalSMS" ZOrder="197" X="974" Y="1620" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Partition" ZOrder="58" X="30" Y="-338" Height="714" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="710" />
-    <Shape ID="DesignTable:Expression" ZOrder="184" X="1715" Y="2012" Height="125" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:LogicalCamera" ZOrder="224" X="963" Y="90" Height="68" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalDoor" ZOrder="51" X="971" Y="1485" Height="106" Width="168" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:Port" ZOrder="178" X="1525" Y="1535" Height="277" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
-    <Shape ID="DesignTable:MultiplePersonAccess" ZOrder="246" X="-129" Y="738" Height="87" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:LogicalOutput" ZOrder="199" X="957" Y="999" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:LogicalSounder" ZOrder="228" X="975" Y="381" Height="68" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalEmail" ZOrder="224" X="961" Y="-9" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalSMS" ZOrder="198" X="974" Y="1620" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Partition" ZOrder="59" X="30" Y="-338" Height="714" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="710" />
+    <Shape ID="DesignTable:Expression" ZOrder="185" X="1715" Y="2012" Height="125" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:LogicalCamera" ZOrder="225" X="963" Y="90" Height="68" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalDoor" ZOrder="52" X="971" Y="1485" Height="106" Width="168" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Port" ZOrder="179" X="1525" Y="1535" Height="277" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
+    <Shape ID="DesignTable:MultiplePersonAccess" ZOrder="247" X="-129" Y="738" Height="87" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
     <Shape ID="DesignTable:FailAttempt" ZOrder="294" X="-120" Y="891" Height="164" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
-    <Shape ID="DesignTable:Action_Command" ZOrder="181" X="1453" Y="2345" Height="87" Width="168" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Object" ZOrder="170" X="1289" Y="772" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Building" ZOrder="171" X="1287" Y="932" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Floor" ZOrder="172" X="1472" Y="931" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:Room" ZOrder="173" X="1690" Y="929" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:VirtualDevice" ZOrder="4" X="-140" Y="1357" Height="219" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
-    <Shape ID="DesignTable:LogicalDevice" ZOrder="3" X="1294" Y="1275" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
+    <Shape ID="DesignTable:Action_Command" ZOrder="182" X="1453" Y="2345" Height="87" Width="168" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Object" ZOrder="171" X="1289" Y="772" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Building" ZOrder="172" X="1287" Y="932" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Floor" ZOrder="173" X="1472" Y="931" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:Room" ZOrder="174" X="1690" Y="929" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:VirtualDevice" ZOrder="5" X="-140" Y="1357" Height="219" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
+    <Shape ID="DesignTable:LogicalDevice" ZOrder="4" X="1294" Y="1275" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
     <Shape ID="DesignTable:UID" ZOrder="273" X="1276" Y="361" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:HardwareDevice" ZOrder="179" X="1951" Y="1213" Height="409" Width="161" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="424" />
-    <Shape ID="DesignTable:VirtualHardwiredPIR" ZOrder="108" X="664" Y="710" Height="258" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
-    <Shape ID="DesignTable:VirtualHardwiredDoor" ZOrder="48" X="664" Y="1172" Height="258" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
-    <Shape ID="DesignTable:VirtualSounder" ZOrder="228" X="663" Y="340" Height="106" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualEmail" ZOrder="199" X="664" Y="-25" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualCamera" ZOrder="134" X="665" Y="83" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualSMS" ZOrder="230" X="665" Y="1627" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualReader" ZOrder="187" X="676" Y="2667" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualKeyboard" ZOrder="191" X="674" Y="2412" Height="106" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualKeyboardReader" ZOrder="237" X="675" Y="2541" Height="106" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualKeySwitch" ZOrder="208" X="435" Y="806" Height="106" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualRelay" ZOrder="129" X="430" Y="1415" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualWindow" ZOrder="207" X="412" Y="621" Height="106" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:HardwareDevice" ZOrder="180" X="1951" Y="1213" Height="409" Width="161" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="424" />
+    <Shape ID="DesignTable:VirtualHardwiredPIR" ZOrder="109" X="664" Y="710" Height="258" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
+    <Shape ID="DesignTable:VirtualHardwiredDoor" ZOrder="49" X="664" Y="1172" Height="258" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
+    <Shape ID="DesignTable:VirtualSounder" ZOrder="229" X="663" Y="340" Height="106" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualEmail" ZOrder="200" X="664" Y="-25" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualCamera" ZOrder="135" X="665" Y="83" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualSMS" ZOrder="231" X="665" Y="1627" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualReader" ZOrder="188" X="676" Y="2667" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualKeyboard" ZOrder="192" X="674" Y="2412" Height="106" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualKeyboardReader" ZOrder="238" X="675" Y="2541" Height="106" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualKeySwitch" ZOrder="209" X="435" Y="806" Height="106" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualRelay" ZOrder="130" X="430" Y="1415" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualWindow" ZOrder="208" X="412" Y="621" Height="106" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:LogicalPeripheral" ZOrder="282" X="970" Y="1702" Height="86" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:LogicalSmokeDetector" ZOrder="195" X="976" Y="1800" Height="68" Width="167" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalTemperature" ZOrder="189" X="977" Y="1887" Height="68" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalSmokeDetector" ZOrder="196" X="976" Y="1800" Height="68" Width="167" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalTemperature" ZOrder="190" X="977" Y="1887" Height="68" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:VirtualPeripheral" ZOrder="260" X="366" Y="1604" Height="903" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="918" />
-    <Shape ID="DesignTable:VirtualSmokeDetector" ZOrder="257" X="664" Y="1743" Height="163" Width="191" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
-    <Shape ID="DesignTable:VirtualTemperature" ZOrder="231" X="669" Y="1926" Height="106" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:LogicalKeyboard" ZOrder="233" X="954" Y="2425" Height="68" Width="162" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalKeyboardReader" ZOrder="235" X="949" Y="2537" Height="68" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalReader" ZOrder="234" X="961" Y="2655" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:CatalogueData" ZOrder="174" X="1526" Y="1279" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
+    <Shape ID="DesignTable:VirtualSmokeDetector" ZOrder="258" X="664" Y="1743" Height="163" Width="191" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
+    <Shape ID="DesignTable:VirtualTemperature" ZOrder="232" X="669" Y="1926" Height="106" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:LogicalKeyboard" ZOrder="234" X="954" Y="2425" Height="68" Width="162" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalKeyboardReader" ZOrder="236" X="949" Y="2537" Height="68" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalReader" ZOrder="235" X="961" Y="2655" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:CatalogueData" ZOrder="175" X="1526" Y="1279" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
     <Shape ID="DesignTable:WirelessMaster" ZOrder="414" X="1702" Y="1484" Height="87" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:LogicalInstallService" ZOrder="188" X="974" Y="1983" Height="68" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalInstallService" ZOrder="189" X="974" Y="1983" Height="68" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:LogicalSmartUI" ZOrder="347" X="958" Y="3040" Height="68" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalAccessPoint" ZOrder="226" X="952" Y="487" Height="125" Width="176" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:APQuickMacro" ZOrder="247" X="-111" Y="638" Height="87" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:APMacro" ZOrder="245" X="80" Y="630" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:AccessPoint_User" ZOrder="7" X="-428" Y="1603" Height="87" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:ExternalSounderStyle" ZOrder="100" X="-1018" Y="63" Height="239" Width="241" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
-    <Shape ID="DesignTable:SignalingGroup" ZOrder="123" X="-947" Y="1272" Height="125" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Partition_SignalingGroup" ZOrder="86" X="-794" Y="-249" Height="87" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:SignalingGroup_Sounder" ZOrder="133" X="-715" Y="1250" Height="87" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="74" SplitterPosition="83" />
+    <Shape ID="DesignTable:LogicalAccessPoint" ZOrder="227" X="952" Y="487" Height="125" Width="176" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:APQuickMacro" ZOrder="248" X="-111" Y="638" Height="87" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:APMacro" ZOrder="246" X="80" Y="630" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:AccessPoint_User" ZOrder="8" X="-428" Y="1603" Height="87" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:ExternalSounderStyle" ZOrder="101" X="-1018" Y="63" Height="239" Width="241" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
+    <Shape ID="DesignTable:SignalingGroup" ZOrder="124" X="-947" Y="1272" Height="125" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Partition_SignalingGroup" ZOrder="87" X="-794" Y="-249" Height="87" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:SignalingGroup_Sounder" ZOrder="134" X="-715" Y="1250" Height="87" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="74" SplitterPosition="83" />
     <Shape ID="DesignTable:SignalingGroup_Flasher" ZOrder="372" X="-711" Y="1150" Height="87" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:APTurnstile" ZOrder="254" X="62" Y="902" Height="144" Width="169" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:HWIBusBusController" ZOrder="54" X="2232" Y="464" Height="106" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:APTurnstile" ZOrder="255" X="62" Y="902" Height="144" Width="169" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:HWIBusBusController" ZOrder="55" X="2232" Y="464" Height="106" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:HWIBusBus2Module" ZOrder="354" X="2236" Y="682" Height="48" Width="185" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:HWSerialBusController" ZOrder="353" X="2230" Y="936" Height="125" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
     <Shape ID="DesignTable:HWBus216DGDisablingDisplayModule" ZOrder="295" X="2501" Y="73" Height="48" Width="289" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
     <Shape ID="DesignTable:HWBus210DGDisablingUnit" ZOrder="361" X="2526" Y="-6" Height="48" Width="227" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWBus2DuoModule" ZOrder="31" X="2526" Y="327" Height="143" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:HWBus2DuoModule" ZOrder="32" X="2526" Y="327" Height="143" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
     <Shape ID="DesignTable:HWBus2MiniModule" ZOrder="365" X="2553" Y="1763" Height="49" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
     <Shape ID="DesignTable:HWBus25InputModule" ZOrder="429" X="2538" Y="975" Height="68" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:HWBus25OutputModule" ZOrder="283" X="2540" Y="1055" Height="68" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
@@ -89,90 +89,90 @@
     <Shape ID="DesignTable:HWBus2ViewGuardPIR" ZOrder="298" X="2500" Y="2224" Height="257" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
     <Shape ID="DesignTable:HWBus2SmokeDetector" ZOrder="428" X="2538" Y="892" Height="68" Width="205" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:HWBus2Identloc" ZOrder="366" X="2560" Y="1676" Height="48" Width="163" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWBus2DoorControllerModule" ZOrder="33" X="2531" Y="803" Height="86" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:HWBus2DoorGuard" ZOrder="32" X="2529" Y="477" Height="257" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
+    <Shape ID="DesignTable:HWBus2DoorControllerModule" ZOrder="34" X="2531" Y="803" Height="86" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:HWBus2DoorGuard" ZOrder="33" X="2529" Y="477" Height="257" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
     <Shape ID="DesignTable:HWBus2Identkey2" ZOrder="285" X="2538" Y="1136" Height="67" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:HWBus2Identkey3" ZOrder="53" X="2554" Y="1518" Height="162" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
+    <Shape ID="DesignTable:HWBus2Identkey3" ZOrder="54" X="2554" Y="1518" Height="162" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
     <Shape ID="DesignTable:HWModulBusReader" ZOrder="466" X="2887" Y="-219" Height="124" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
     <Shape ID="DesignTable:HWModulBusKeyboardReader" ZOrder="454" X="2884" Y="-61" Height="124" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
     <Shape ID="DesignTable:HWBus2GraphicsKeypad" ZOrder="363" X="2526" Y="273" Height="48" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWBus2WirelessMaster" ZOrder="24" X="2884" Y="295" Height="86" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:HWBus2Wireless4IOModule" ZOrder="27" X="2883" Y="386" Height="124" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
-    <Shape ID="DesignTable:HWBus2WirelessSmokeDetector" ZOrder="26" X="2880" Y="740" Height="124" Width="254" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
-    <Shape ID="DesignTable:HWBus2WirelessViewguard" ZOrder="25" X="2884" Y="68" Height="219" Width="267" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
-    <Shape ID="DesignTable:HWBus2WirelessPanicButton" ZOrder="22" X="2880" Y="595" Height="112" Width="232" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="108" />
+    <Shape ID="DesignTable:HWBus2WirelessMaster" ZOrder="25" X="2884" Y="295" Height="86" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:HWBus2Wireless4IOModule" ZOrder="28" X="2883" Y="386" Height="124" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
+    <Shape ID="DesignTable:HWBus2WirelessSmokeDetector" ZOrder="27" X="2880" Y="740" Height="124" Width="254" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
+    <Shape ID="DesignTable:HWBus2WirelessViewguard" ZOrder="26" X="2884" Y="68" Height="219" Width="267" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
+    <Shape ID="DesignTable:HWBus2WirelessPanicButton" ZOrder="23" X="2880" Y="595" Height="112" Width="232" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="108" />
     <Shape ID="DesignTable:HWBus2SirenModule" ZOrder="465" X="2546" Y="2042" Height="144" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
     <Shape ID="DesignTable:HWSerialDS6600" ZOrder="367" X="2904" Y="1395" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:HWSerialDS7700" ZOrder="369" X="2911" Y="1686" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:HWBus264DGDisplayTerminal" ZOrder="362" X="2526" Y="184" Height="61" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="57" />
     <Shape ID="DesignTable:HWIBusEAGrundModule" ZOrder="355" X="2234" Y="588" Height="68" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:HWBus2BusController" ZOrder="36" X="2239" Y="774" Height="143" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:HWBus2BusController" ZOrder="37" X="2239" Y="774" Height="143" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
     <Shape ID="DesignTable:RemoteApplication" ZOrder="275" X="1490" Y="126" Height="220" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
     <Shape ID="DesignTable:Storage" ZOrder="276" X="1702" Y="129" Height="163" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
-    <Shape ID="DesignTable:PartitionMember" ZOrder="34" X="-696" Y="761" Height="372" Width="183" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="368" />
-    <Shape ID="DesignTable:PMCollection" ZOrder="117" X="-682" Y="567" Height="164" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
+    <Shape ID="DesignTable:PartitionMember" ZOrder="35" X="-696" Y="761" Height="372" Width="183" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="368" />
+    <Shape ID="DesignTable:PMCollection" ZOrder="118" X="-682" Y="567" Height="164" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
     <Shape ID="DesignTable:PMCollectionDependency" ZOrder="349" X="-1008" Y="516" Height="106" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:PMCollectionEntryRoute" ZOrder="348" X="-1006" Y="630" Height="49" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
-    <Shape ID="DesignTable:PMCollectionExitRoute" ZOrder="118" X="-1006" Y="726" Height="49" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
-    <Shape ID="DesignTable:PMCollection_PartitionMember" ZOrder="120" X="-1009" Y="790" Height="106" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:Trigger_PartitionReadySetState" ZOrder="66" X="2200" Y="2240" Height="87" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Trigger_PartitionSetState" ZOrder="65" X="2202" Y="2340" Height="68" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:PMCollectionExitRoute" ZOrder="119" X="-1006" Y="726" Height="49" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
+    <Shape ID="DesignTable:PMCollection_PartitionMember" ZOrder="121" X="-1009" Y="790" Height="106" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Trigger_PartitionReadySetState" ZOrder="67" X="2200" Y="2240" Height="87" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Trigger_PartitionSetState" ZOrder="66" X="2202" Y="2340" Height="68" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:Command_PartitionSetState" ZOrder="424" X="1486" Y="2554" Height="68" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:Command_PartitionClearAlarmType" ZOrder="312" X="1487" Y="2463" Height="68" Width="274" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:Command_PartitionMemberOmit" ZOrder="305" X="1487" Y="2647" Height="68" Width="259" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:Command_OutputPulseOn" ZOrder="281" X="1877" Y="2475" Height="201" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
     <Shape ID="DesignTable:Command_MacroDelay" ZOrder="415" X="1882" Y="2184" Height="68" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:PartitionFaultType" ZOrder="87" X="-507" Y="-249" Height="87" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:VirtualPeripheralPartitionMemberFaultType" ZOrder="128" X="-975" Y="2236" Height="257" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
+    <Shape ID="DesignTable:PartitionFaultType" ZOrder="88" X="-507" Y="-249" Height="87" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:VirtualPeripheralPartitionMemberFaultType" ZOrder="129" X="-975" Y="2236" Height="257" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
     <Shape ID="DesignTable:LogicalWirelessPeripheral" ZOrder="335" X="965" Y="2181" Height="68" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalWirelessMaster" ZOrder="192" X="974" Y="2072" Height="68" Width="165" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:HWBus2WirelessPanicButtonController" ZOrder="23" X="2884" Y="534" Height="49" Width="294" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
-    <Shape ID="DesignTable:UnsetPreventionAlarmType" ZOrder="253" X="-283" Y="-249" Height="87" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:ScheduledItem_APGroup" ZOrder="166" X="-728" Y="1454" Height="182" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
-    <Shape ID="DesignTable:ScheduledItem" ZOrder="127" X="-697" Y="1747" Height="125" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:DatePeriod" ZOrder="16" X="-972" Y="2071" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:TimePeriod" ZOrder="244" X="-2" Y="1957" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:LogicalWirelessMaster" ZOrder="193" X="974" Y="2072" Height="68" Width="165" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:HWBus2WirelessPanicButtonController" ZOrder="24" X="2884" Y="534" Height="49" Width="294" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
+    <Shape ID="DesignTable:UnsetPreventionAlarmType" ZOrder="254" X="-283" Y="-249" Height="87" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:ScheduledItem_APGroup" ZOrder="167" X="-728" Y="1454" Height="182" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
+    <Shape ID="DesignTable:ScheduledItem" ZOrder="128" X="-697" Y="1747" Height="125" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:DatePeriod" ZOrder="17" X="-972" Y="2071" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:TimePeriod" ZOrder="245" X="-2" Y="1957" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:UserGroup_TimeSchedule" ZOrder="374" X="-478" Y="1791" Height="87" Width="175" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:TimeSchedule" ZOrder="9" X="-219" Y="1665" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
-    <Shape ID="DesignTable:User" ZOrder="30" X="-224" Y="2027" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
-    <Shape ID="DesignTable:Holiday" ZOrder="8" X="-18" Y="1724" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:TimeSchedule" ZOrder="10" X="-219" Y="1665" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
+    <Shape ID="DesignTable:User" ZOrder="31" X="-224" Y="2027" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
+    <Shape ID="DesignTable:Holiday" ZOrder="9" X="-18" Y="1724" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
     <Shape ID="DesignTable:User_UserGroup" ZOrder="300" X="-473" Y="1947" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:VirtualFlasher" ZOrder="279" X="448" Y="1059" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
     <Shape ID="DesignTable:VirtualDSDevice" ZOrder="436" X="666" Y="-138" Height="106" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:LogicalDSAlarmReporting" ZOrder="435" X="930" Y="-120" Height="68" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:AlarmDevice" ZOrder="93" X="-1015" Y="-152" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
-    <Shape ID="DesignTable:AlarmDevice_FaultPartition" ZOrder="256" X="-795" Y="-148" Height="87" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Channel" ZOrder="28" X="-698" Y="-55" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" />
+    <Shape ID="DesignTable:AlarmDevice" ZOrder="94" X="-1015" Y="-152" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
+    <Shape ID="DesignTable:AlarmDevice_FaultPartition" ZOrder="257" X="-795" Y="-148" Height="87" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Channel" ZOrder="29" X="-698" Y="-55" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" />
     <Shape ID="DesignTable:HWSerialDS6700" ZOrder="368" X="2906" Y="1500" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:HWSerialDS6750" ZOrder="389" X="2916" Y="1603" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:HWSerialDS7600" ZOrder="370" X="2914" Y="1769" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:HWSerialDS9500" ZOrder="388" X="2915" Y="1850" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:Trigger_Simple" ZOrder="68" X="2200" Y="1996" Height="125" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Trigger_SingleEvent" ZOrder="67" X="2200" Y="2134" Height="87" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:VirtualWirelessMaster" ZOrder="232" X="665" Y="2055" Height="106" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Trigger_Simple" ZOrder="69" X="2200" Y="1996" Height="125" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Trigger_SingleEvent" ZOrder="68" X="2200" Y="2134" Height="87" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:VirtualWirelessMaster" ZOrder="233" X="665" Y="2055" Height="106" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:VirtualWirelessPeripheral" ZOrder="259" X="671" Y="2182" Height="125" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
     <Shape ID="DesignTable:LogicalCarbonMonoxide" ZOrder="438" X="943" Y="-252" Height="68" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:VirtualCarbonMonoxide" ZOrder="437" X="666" Y="-251" Height="106" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:SounderTemplate" ZOrder="124" X="-1002" Y="324" Height="182" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
+    <Shape ID="DesignTable:SounderTemplate" ZOrder="125" X="-1002" Y="324" Height="182" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
     <Shape ID="DesignTable:HWGPIOInput" ZOrder="359" X="2249" Y="-16" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
     <Shape ID="DesignTable:HWGPIOOutput" ZOrder="360" X="2241" Y="-143" Height="67" Width="159" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
     <Shape ID="DesignTable:HWSPIInput" ZOrder="357" X="2248" Y="191" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
     <Shape ID="DesignTable:HWSPIOutput" ZOrder="358" X="2246" Y="89" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
     <Shape ID="DesignTable:HWAnalogInput" ZOrder="356" X="2245" Y="278" Height="162" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
-    <Shape ID="DesignTable:UIProxy" ZOrder="43" X="-280" Y="2486" Height="238" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="234" />
+    <Shape ID="DesignTable:UIProxy" ZOrder="44" X="-280" Y="2486" Height="238" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="234" />
     <Shape ID="DesignTable:UITouchCenter" ZOrder="280" X="-3" Y="2217" Height="283" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="279" />
     <Shape ID="DesignTable:UITouchCenter_Partition" ZOrder="351" X="2" Y="2091" Height="106" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:GeneralSettings" ZOrder="278" X="1280" Y="119" Height="238" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
     <Shape ID="DesignTable:PartitionDependency" ZOrder="325" X="280" Y="-342" Height="87" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:StoredFaultTypes" ZOrder="248" X="-273" Y="-112" Height="410" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="406" />
-    <Shape ID="DesignTable:Partition_LocalSounder" ZOrder="98" X="-271" Y="307" Height="87" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:VirtualPIR" ZOrder="204" X="315" Y="202" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:StoredFaultTypes" ZOrder="249" X="-273" Y="-112" Height="410" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="406" />
+    <Shape ID="DesignTable:Partition_LocalSounder" ZOrder="99" X="-271" Y="307" Height="87" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:VirtualPIR" ZOrder="205" X="315" Y="202" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
     <Shape ID="DesignTable:VirtualDoor" ZOrder="268" X="425" Y="1159" Height="238" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="234" />
-    <Shape ID="DesignTable:ScheduledItem_Door" ZOrder="165" X="-728" Y="1645" Height="87" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:HWBus2ViewGuardDual" ZOrder="125" X="2502" Y="2528" Height="257" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
+    <Shape ID="DesignTable:ScheduledItem_Door" ZOrder="166" X="-728" Y="1645" Height="87" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:HWBus2ViewGuardDual" ZOrder="126" X="2502" Y="2528" Height="257" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
     <Shape ID="DesignTable:ConfigInfo" ZOrder="277" X="1281" Y="-55" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:SoundingFaultTypes" ZOrder="115" X="-508" Y="-109" Height="505" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="501" />
-    <Shape ID="DesignTable:ScheduledItem_AP" ZOrder="10" X="-724" Y="1340" Height="106" Width="174" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:SoundingFaultTypes" ZOrder="116" X="-508" Y="-109" Height="505" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="501" />
+    <Shape ID="DesignTable:ScheduledItem_AP" ZOrder="11" X="-724" Y="1340" Height="106" Width="174" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:Signal" ZOrder="313" X="1290" Y="2435" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
     <Shape ID="DesignTable:VirtualKey" ZOrder="346" X="679" Y="2794" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
     <Shape ID="DesignTable:LogicalKey" ZOrder="345" X="958" Y="2790" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
@@ -179,41 +179,41 @@
     <Shape ID="DesignTable:VirtualLed" ZOrder="344" X="676" Y="2882" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
     <Shape ID="DesignTable:LogicalLed" ZOrder="343" X="959" Y="2871" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:UIKeypad" ZOrder="296" X="-13" Y="2637" Height="257" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
-    <Shape ID="DesignTable:UIKeypadItem" ZOrder="41" X="-286" Y="2761" Height="296" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="292" />
+    <Shape ID="DesignTable:UIKeypadItem" ZOrder="42" X="-286" Y="2761" Height="296" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="292" />
     <Shape ID="DesignTable:LogicalDisplay" ZOrder="342" X="961" Y="2943" Height="49" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
     <Shape ID="DesignTable:ScheduledItem_UIProxy" ZOrder="373" X="-970" Y="1788" Height="86" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
     <Shape ID="DesignTable:HWBus2KeypadLED" ZOrder="332" X="2538" Y="-352" Height="143" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
     <Shape ID="DesignTable:HWBus2KeypadLCD" ZOrder="331" X="2531" Y="-208" Height="200" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" />
-    <Shape ID="DesignTable:UserGroup" ZOrder="29" X="-1361" Y="1213" Height="1093" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="1089" />
-    <Shape ID="DesignTable:ScheduledItem_Partition" ZOrder="21" X="-971" Y="1649" Height="86" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:UserGroup" ZOrder="30" X="-1361" Y="1213" Height="1093" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="1089" />
+    <Shape ID="DesignTable:ScheduledItem_Partition" ZOrder="22" X="-971" Y="1649" Height="86" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
     <Shape ID="DesignTable:UserGroup_ScheduledItem" ZOrder="352" X="-978" Y="1895" Height="124" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
     <Shape ID="DesignTable:VirtualWirelessPanicButton" ZOrder="338" X="667" Y="2321" Height="67" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
     <Shape ID="DesignTable:LogicalWirelessPanicButton" ZOrder="337" X="954" Y="2327" Height="67" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
     <Shape ID="DesignTable:HWBus2ViewGuardPIRMask" ZOrder="267" X="2806" Y="2222" Height="231" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="227" />
     <Shape ID="DesignTable:HWBus2ViewGuardDualMask" ZOrder="307" X="2806" Y="2526" Height="277" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
-    <Shape ID="DesignTable:Trigger_UIKey" ZOrder="64" X="2203" Y="2419" Height="68" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Command_Sounder" ZOrder="180" X="1883" Y="2287" Height="87" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Trigger_Timer" ZOrder="91" X="2204" Y="2500" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Trigger_UIKey" ZOrder="65" X="2203" Y="2419" Height="68" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Command_Sounder" ZOrder="181" X="1883" Y="2287" Height="87" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Trigger_Timer" ZOrder="92" X="2204" Y="2500" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:HWBus2SounderFlasherModule" ZOrder="291" X="2174" Y="1704" Height="258" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
     <Shape ID="DesignTable:HWBus22RelaisInputModule" ZOrder="290" X="2177" Y="1512" Height="143" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
     <Shape ID="DesignTable:HWBus2PowerSupplyUnit" ZOrder="287" X="2884" Y="878" Height="143" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:Trigger_Macro" ZOrder="63" X="2205" Y="2699" Height="68" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Trigger_PartitionMemberOmit" ZOrder="90" X="2205" Y="2615" Height="67" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:LicenseUsage" ZOrder="126" X="-514" Y="2551" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
-    <Shape ID="DesignTable:ContactID" ZOrder="97" X="-703" Y="180" Height="124" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
-    <Shape ID="DesignTable:ContactIDEvent" ZOrder="96" X="-707" Y="319" Height="143" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:Trigger_Counter" ZOrder="62" X="2206" Y="2781" Height="105" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
-    <Shape ID="DesignTable:Trigger_User" ZOrder="89" X="2207" Y="2895" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
-    <Shape ID="DesignTable:Command_ISOMEvent" ZOrder="88" X="1879" Y="2703" Height="68" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Trigger_PartitionAlarm" ZOrder="61" X="2207" Y="3017" Height="124" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
-    <Shape ID="DesignTable:DatapointNumbers" ZOrder="2" X="1908" Y="130" Height="143" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:Trigger_SimpleFilter" ZOrder="37" X="1948" Y="1827" Height="181" Width="183" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
-    <Shape ID="DesignTable:ControllerNumbers" ZOrder="35" X="1547" Y="576" Height="67" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:ScheduledItem_Macro" ZOrder="6" X="-978" Y="1531" Height="86" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:HWBus2DoorGuardIOMode" ZOrder="1" X="2885" Y="1035" Height="49" Width="222" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
+    <Shape ID="DesignTable:Trigger_Macro" ZOrder="64" X="2205" Y="2699" Height="68" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Trigger_PartitionMemberOmit" ZOrder="91" X="2205" Y="2615" Height="67" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:LicenseUsage" ZOrder="127" X="-514" Y="2551" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
+    <Shape ID="DesignTable:ContactID" ZOrder="98" X="-703" Y="180" Height="124" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
+    <Shape ID="DesignTable:ContactIDEvent" ZOrder="97" X="-707" Y="319" Height="143" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:Trigger_Counter" ZOrder="63" X="2206" Y="2781" Height="105" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
+    <Shape ID="DesignTable:Trigger_User" ZOrder="90" X="2207" Y="2895" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
+    <Shape ID="DesignTable:Command_ISOMEvent" ZOrder="89" X="1879" Y="2703" Height="68" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Trigger_PartitionAlarm" ZOrder="62" X="2207" Y="3017" Height="124" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
+    <Shape ID="DesignTable:DatapointNumbers" ZOrder="3" X="1908" Y="130" Height="143" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:Trigger_SimpleFilter" ZOrder="38" X="1948" Y="1827" Height="181" Width="183" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
+    <Shape ID="DesignTable:ControllerNumbers" ZOrder="36" X="1547" Y="576" Height="67" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:ScheduledItem_Macro" ZOrder="7" X="-978" Y="1531" Height="86" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:HWBus2DoorGuardIOMode" ZOrder="2" X="2885" Y="1035" Height="49" Width="222" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
   </Shapes>
   <Connectors>
-    <Connector ID="DesignRelation:FK_SounderTemplate_DetectorGroup" ZOrder="114" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_DetectorGroup" ZOrder="115" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-1002</X>
@@ -245,7 +245,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalPIR_VirtualBusPIR" ZOrder="152" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalPIR_VirtualBusPIR" ZOrder="153" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>959</X>
@@ -265,7 +265,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualPIR_VirtualBusPIR" ZOrder="151" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualPIR_VirtualBusPIR" ZOrder="152" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>465</X>
@@ -277,7 +277,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualInput" ZOrder="201" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualInput" ZOrder="202" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -317,7 +317,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualOutput" ZOrder="149" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualOutput" ZOrder="150" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>957</X>
@@ -377,7 +377,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualUserInterface" ZOrder="141" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualUserInterface" ZOrder="142" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -397,7 +397,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalAccessPoint_AccessPoint" ZOrder="44" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalAccessPoint_AccessPoint" ZOrder="45" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>952</X>
@@ -417,7 +417,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalDoor_VirtualBusDoor" ZOrder="52" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalDoor_VirtualBusDoor" ZOrder="53" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>971</X>
@@ -693,7 +693,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalDevice_LogicalDoor" ZOrder="50" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalDevice_LogicalDoor" ZOrder="51" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1294</X>
@@ -713,7 +713,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_Port" ZOrder="177" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_Port" ZOrder="178" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -881,7 +881,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalDevice_VirtualDevice" ZOrder="49" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalDevice_VirtualDevice" ZOrder="50" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1294</X>
@@ -985,7 +985,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR" ZOrder="217" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR" ZOrder="218" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>986</X>
@@ -1001,7 +1001,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR1" ZOrder="218" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR1" ZOrder="219" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1002</X>
@@ -1017,7 +1017,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR2" ZOrder="219" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR2" ZOrder="220" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1015</X>
@@ -1033,7 +1033,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredPIR1" ZOrder="220" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredPIR1" ZOrder="221" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1009</X>
@@ -1049,7 +1049,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredPIR2" ZOrder="221" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredPIR2" ZOrder="222" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>998</X>
@@ -1065,7 +1065,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualPIR_VirtualHardwiredPIR" ZOrder="107" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualPIR_VirtualHardwiredPIR" ZOrder="108" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>465</X>
@@ -1097,7 +1097,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor1" ZOrder="215" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor1" ZOrder="216" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -1117,7 +1117,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor" ZOrder="214" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor" ZOrder="215" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -1137,7 +1137,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor6" ZOrder="213" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor6" ZOrder="214" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1012</X>
@@ -1153,7 +1153,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor2" ZOrder="212" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor2" ZOrder="213" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1001</X>
@@ -1169,7 +1169,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor1" ZOrder="211" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor1" ZOrder="212" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>989</X>
@@ -1185,7 +1185,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor" ZOrder="210" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor" ZOrder="211" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>977</X>
@@ -1201,7 +1201,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor2" ZOrder="216" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor2" ZOrder="217" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -1233,7 +1233,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalSounder_VirtualSounder" ZOrder="200" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalSounder_VirtualSounder" ZOrder="201" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>975</X>
@@ -1245,7 +1245,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualSounder" ZOrder="136" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualSounder" ZOrder="137" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -1337,7 +1337,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalSMS_VirtualSMS" ZOrder="196" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalSMS_VirtualSMS" ZOrder="197" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>974</X>
@@ -1349,7 +1349,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualSMS" ZOrder="146" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualSMS" ZOrder="147" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -1377,7 +1377,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualUserInterface_VirtualReader" ZOrder="240" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualUserInterface_VirtualReader" ZOrder="241" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>529</X>
@@ -1417,7 +1417,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualUserInterface_VirtualKeyboard" ZOrder="238" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualUserInterface_VirtualKeyboard" ZOrder="239" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>529</X>
@@ -1449,7 +1449,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualUserInterface_VirtualKeyboardReader" ZOrder="239" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualUserInterface_VirtualKeyboardReader" ZOrder="240" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>529</X>
@@ -1461,7 +1461,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalKeyboardReader_VirtualKeyboardReader" ZOrder="236" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalKeyboardReader_VirtualKeyboardReader" ZOrder="237" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>949</X>
@@ -1493,7 +1493,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualKeySwitch" ZOrder="209" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualKeySwitch" ZOrder="210" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -1513,7 +1513,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualRelay" ZOrder="47" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualRelay" ZOrder="48" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1026</X>
@@ -1529,7 +1529,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualRelay" ZOrder="137" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualRelay" ZOrder="138" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -1549,7 +1549,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWindow" ZOrder="205" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWindow" ZOrder="206" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -1561,7 +1561,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWindow1" ZOrder="206" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWindow1" ZOrder="207" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -1653,7 +1653,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualPeripheral" ZOrder="143" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualPeripheral" ZOrder="144" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -1685,7 +1685,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualSmokeDetector" ZOrder="144" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualSmokeDetector" ZOrder="145" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -1705,7 +1705,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalSmokeDetector_VirtualSmokeDetector" ZOrder="194" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalSmokeDetector_VirtualSmokeDetector" ZOrder="195" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>976</X>
@@ -1725,7 +1725,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualTemperature" ZOrder="142" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualTemperature" ZOrder="143" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -1825,7 +1825,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_WirelessMaster" ZOrder="176" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_WirelessMaster" ZOrder="177" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -1845,7 +1845,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_WirelessMaster1" ZOrder="175" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_WirelessMaster1" ZOrder="176" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -1973,7 +1973,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AccessPoint_AccessPoint_User" ZOrder="162" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AccessPoint_AccessPoint_User" ZOrder="163" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-395</X>
@@ -2001,7 +2001,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_User_AccessPoint_User" ZOrder="163" LineWidth="11">
+    <Connector ID="DesignRelation:FK_User_AccessPoint_User" ZOrder="164" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-224</X>
@@ -2021,7 +2021,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle1" ZOrder="103" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle1" ZOrder="104" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-810</X>
@@ -2041,7 +2041,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle" ZOrder="102" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle" ZOrder="103" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-810</X>
@@ -2061,7 +2061,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_ExternalSounderStyle" ZOrder="101" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_ExternalSounderStyle" ZOrder="102" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -2117,7 +2117,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle3" ZOrder="105" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle3" ZOrder="106" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-810</X>
@@ -2137,7 +2137,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle2" ZOrder="104" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle2" ZOrder="105" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-810</X>
@@ -2157,7 +2157,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:SignalingGroup_Partition_SignalingGroup" ZOrder="20" LineWidth="11">
+    <Connector ID="DesignRelation:SignalingGroup_Partition_SignalingGroup" ZOrder="21" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-947</X>
@@ -2177,7 +2177,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_Partition_SignalingGroup" ZOrder="251" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_Partition_SignalingGroup" ZOrder="252" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -2197,7 +2197,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_SignalingGroup_Sounder" ZOrder="132" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_SignalingGroup_Sounder" ZOrder="133" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>663</X>
@@ -2225,7 +2225,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:SignalingGroup_SignalingGroup_Siren" ZOrder="121" LineWidth="11">
+    <Connector ID="DesignRelation:SignalingGroup_SignalingGroup_Siren" ZOrder="122" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-791</X>
@@ -2237,7 +2237,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:SignalingGroup_SignalingGroup_Flasher" ZOrder="122" LineWidth="11">
+    <Connector ID="DesignRelation:SignalingGroup_SignalingGroup_Flasher" ZOrder="123" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-791</X>
@@ -2277,7 +2277,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_APTurnstile" ZOrder="202" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_APTurnstile" ZOrder="203" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -2329,7 +2329,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_APTurnstile" ZOrder="203" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_APTurnstile" ZOrder="204" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>975</X>
@@ -2641,7 +2641,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2DoorGuard" ZOrder="55" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2DoorGuard" ZOrder="56" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2112</X>
@@ -2981,7 +2981,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_PartitionMember" ZOrder="167" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_PartitionMember" ZOrder="168" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3009,7 +3009,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_PMCollection" ZOrder="116" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_PMCollection" ZOrder="117" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3037,7 +3037,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PMCollection_PMCollectionDependecy" ZOrder="111" LineWidth="11">
+    <Connector ID="DesignRelation:PMCollection_PMCollectionDependecy" ZOrder="112" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-682</X>
@@ -3057,7 +3057,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PMCollection_PMCollectionEntryRoute" ZOrder="113" LineWidth="11">
+    <Connector ID="DesignRelation:PMCollection_PMCollectionEntryRoute" ZOrder="114" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-682</X>
@@ -3077,7 +3077,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PMCollection_PMCollectionExitRoute" ZOrder="112" LineWidth="11">
+    <Connector ID="DesignRelation:PMCollection_PMCollectionExitRoute" ZOrder="113" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-682</X>
@@ -3097,7 +3097,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_PartitionTrigger_ReadyState" ZOrder="81" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_PartitionTrigger_ReadyState" ZOrder="82" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -3117,7 +3117,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_PartitionTrigger_SetState" ZOrder="80" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_PartitionTrigger_SetState" ZOrder="81" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -3137,7 +3137,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_PartitionSetState" ZOrder="71" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_PartitionSetState" ZOrder="72" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3157,7 +3157,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_PartitionClearAlarmType" ZOrder="72" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_PartitionClearAlarmType" ZOrder="73" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3177,7 +3177,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_PartitionMemberOmit" ZOrder="70" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_PartitionMemberOmit" ZOrder="71" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3197,7 +3197,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_OutputPulseOn" ZOrder="73" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_OutputPulseOn" ZOrder="74" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3217,7 +3217,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_MacroDelay" ZOrder="75" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_MacroDelay" ZOrder="76" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3237,7 +3237,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_PartitionFaultType" ZOrder="249" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_PartitionFaultType" ZOrder="250" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3257,7 +3257,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" ZOrder="243" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" ZOrder="244" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>366</X>
@@ -3277,7 +3277,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PartitionMember_VirtualPeripheralPartitionMemberFaultType" ZOrder="19" LineWidth="11">
+    <Connector ID="DesignRelation:PartitionMember_VirtualPeripheralPartitionMemberFaultType" ZOrder="20" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-696</X>
@@ -3365,7 +3365,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_UnsetPreventionAlarmType" ZOrder="250" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_UnsetPreventionAlarmType" ZOrder="251" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3421,7 +3421,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UserGroup_DatePeriod" ZOrder="18" LineWidth="11">
+    <Connector ID="DesignRelation:UserGroup_DatePeriod" ZOrder="19" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-1124</X>
@@ -3477,7 +3477,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_RTZ_UserGroup_TimeSchedule" ZOrder="17" LineWidth="11">
+    <Connector ID="DesignRelation:FK_RTZ_UserGroup_TimeSchedule" ZOrder="18" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-1124</X>
@@ -3497,7 +3497,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UserGroup_User_UserGroup" ZOrder="14" LineWidth="11">
+    <Connector ID="DesignRelation:UserGroup_User_UserGroup" ZOrder="15" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-1124</X>
@@ -3517,7 +3517,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:User_User_UserGroup" ZOrder="13" LineWidth="11">
+    <Connector ID="DesignRelation:User_User_UserGroup" ZOrder="14" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-224</X>
@@ -3557,7 +3557,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualFlasher" ZOrder="150" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualFlasher" ZOrder="151" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>957</X>
@@ -3633,7 +3633,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDSDevice_AlarmDevice" ZOrder="85" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDSDevice_AlarmDevice" ZOrder="86" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>666</X>
@@ -3661,7 +3661,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_AlarmDevice" ZOrder="84" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_AlarmDevice" ZOrder="85" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3681,7 +3681,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_AlarmDevice_FaultPartition" ZOrder="252" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_AlarmDevice_FaultPartition" ZOrder="253" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3701,7 +3701,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AlarmDevice_AlarmDevice_FaultPartition" ZOrder="109" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AlarmDevice_AlarmDevice_FaultPartition" ZOrder="110" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-865</X>
@@ -3721,7 +3721,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AlarmDevice_Channel" ZOrder="99" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AlarmDevice_Channel" ZOrder="100" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-865</X>
@@ -3821,7 +3821,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_SimpleTrigger" ZOrder="83" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_SimpleTrigger" ZOrder="84" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -3833,7 +3833,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_Trigger_SingleEvent" ZOrder="82" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_Trigger_SingleEvent" ZOrder="83" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -3853,7 +3853,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualWirelessMaster" ZOrder="139" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualWirelessMaster" ZOrder="140" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -3873,7 +3873,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalWirelessMaster_VirtualWirelessMaster" ZOrder="193" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalWirelessMaster_VirtualWirelessMaster" ZOrder="194" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>974</X>
@@ -3885,7 +3885,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualWirelessPeripheral" ZOrder="140" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualWirelessPeripheral" ZOrder="141" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -4077,7 +4077,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_UIProxy" ZOrder="190" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_UIProxy" ZOrder="191" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -4165,7 +4165,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_PartitionDependency" ZOrder="222" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_PartitionDependency" ZOrder="223" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>224</X>
@@ -4177,7 +4177,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_PartitionDependency1" ZOrder="255" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_PartitionDependency1" ZOrder="256" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>224</X>
@@ -4189,7 +4189,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_StoredFaultTypes" ZOrder="169" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_StoredFaultTypes" ZOrder="170" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -4249,7 +4249,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualPIR" ZOrder="106" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualPIR" ZOrder="107" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -4309,7 +4309,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Door" ZOrder="164" LineWidth="11">
+    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Door" ZOrder="165" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-697</X>
@@ -4329,7 +4329,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDoor_ScheduledItem_Door" ZOrder="135" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDoor_ScheduledItem_Door" ZOrder="136" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>425</X>
@@ -4377,7 +4377,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_SoundingFaultTypes" ZOrder="168" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_SoundingFaultTypes" ZOrder="169" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -4397,7 +4397,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_AP" ZOrder="130" LineWidth="11">
+    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_AP" ZOrder="131" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-697</X>
@@ -4417,7 +4417,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AccessPoint_ScheduledItem_AP" ZOrder="131" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AccessPoint_ScheduledItem_AP" ZOrder="132" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-395</X>
@@ -4457,7 +4457,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualKey" ZOrder="138" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualKey" ZOrder="139" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -4497,7 +4497,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualLed" ZOrder="145" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualLed" ZOrder="146" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -4557,7 +4557,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalPeripheral_UIKeypad" ZOrder="154" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalPeripheral_UIKeypad" ZOrder="155" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>970</X>
@@ -4585,7 +4585,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalDisplay_UIKeypad" ZOrder="158" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalDisplay_UIKeypad" ZOrder="159" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>961</X>
@@ -4625,7 +4625,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_UIProxy_Keypad_UIProxy_Keypad" ZOrder="159" LineWidth="11">
+    <Connector ID="DesignRelation:FK_UIProxy_Keypad_UIProxy_Keypad" ZOrder="160" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-13</X>
@@ -4653,7 +4653,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalKeyboardReader_UIKeypad" ZOrder="155" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalKeyboardReader_UIKeypad" ZOrder="156" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>949</X>
@@ -4681,7 +4681,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Signal_UIKeypadItem2" ZOrder="40" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Signal_UIKeypadItem2" ZOrder="41" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1290</X>
@@ -4701,7 +4701,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Signal_UIKeypadItem" ZOrder="242" LineWidth="11">
+    <Connector ID="DesignRelation:Signal_UIKeypadItem" ZOrder="243" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1290</X>
@@ -4729,7 +4729,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Signal_UIKeypadItem1" ZOrder="46" LineWidth="11">
+    <Connector ID="DesignRelation:Signal_UIKeypadItem1" ZOrder="47" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1290</X>
@@ -4757,7 +4757,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UIKeypad_UIKeypadItem" ZOrder="42" LineWidth="11">
+    <Connector ID="DesignRelation:UIKeypad_UIKeypadItem" ZOrder="43" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-99</X>
@@ -4777,7 +4777,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalLed_UIKeypadItem" ZOrder="157" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalLed_UIKeypadItem" ZOrder="158" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>959</X>
@@ -4805,7 +4805,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalKey_UIKeypadItem" ZOrder="156" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalKey_UIKeypadItem" ZOrder="157" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>958</X>
@@ -4853,7 +4853,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_UIProxy_ScheduledItem_UIProxy" ZOrder="15" LineWidth="11">
+    <Connector ID="DesignRelation:FK_UIProxy_ScheduledItem_UIProxy" ZOrder="16" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-280</X>
@@ -4941,7 +4941,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_ScheduledItem_Partition" ZOrder="95" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_ScheduledItem_Partition" ZOrder="96" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -4969,7 +4969,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Partition" ZOrder="12" LineWidth="11">
+    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Partition" ZOrder="13" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-697</X>
@@ -4989,7 +4989,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UserGroup_UserGroup_ScheduledItem" ZOrder="161" LineWidth="11">
+    <Connector ID="DesignRelation:UserGroup_UserGroup_ScheduledItem" ZOrder="162" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-1124</X>
@@ -5001,7 +5001,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:ScheduledItem_UserGroup_ScheduledItem" ZOrder="160" LineWidth="11">
+    <Connector ID="DesignRelation:ScheduledItem_UserGroup_ScheduledItem" ZOrder="161" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-697</X>
@@ -5021,7 +5021,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualWirelessPanicButton" ZOrder="147" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualWirelessPanicButton" ZOrder="148" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -5121,7 +5121,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_UIKey" ZOrder="79" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_UIKey" ZOrder="80" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5141,7 +5141,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_Sounder" ZOrder="74" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_Sounder" ZOrder="75" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -5161,7 +5161,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_Trigger_Timer" ZOrder="39" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_Trigger_Timer" ZOrder="40" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5241,7 +5241,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_Macro" ZOrder="77" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_Macro" ZOrder="78" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5261,7 +5261,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_PartitionMemberOmit" ZOrder="78" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_PartitionMemberOmit" ZOrder="79" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5281,7 +5281,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AlarmDevice_ContactID" ZOrder="94" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AlarmDevice_ContactID" ZOrder="95" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-865</X>
@@ -5309,7 +5309,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AlarmDevice_ContactIDEvent" ZOrder="92" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AlarmDevice_ContactIDEvent" ZOrder="93" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-865</X>
@@ -5337,7 +5337,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_Counter" ZOrder="76" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_Counter" ZOrder="77" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5357,7 +5357,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_User" ZOrder="60" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_User" ZOrder="61" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5377,7 +5377,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Command_Command_ISOMEvent" ZOrder="69" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Command_Command_ISOMEvent" ZOrder="70" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -5397,7 +5397,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_PartitionAlarm" ZOrder="59" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_PartitionAlarm" ZOrder="60" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5417,7 +5417,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_SimpleFilter" ZOrder="38" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_SimpleFilter" ZOrder="39" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5437,7 +5437,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Macro" ZOrder="11" LineWidth="11">
+    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Macro" ZOrder="12" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-697</X>
@@ -5457,7 +5457,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Macro_ScheduledItem_Macro" ZOrder="5" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Macro_ScheduledItem_Macro" ZOrder="6" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1274</X>
@@ -5477,7 +5477,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PartitionMember_PMCollection_PartitionMember" ZOrder="119" LineWidth="11">
+    <Connector ID="DesignRelation:PartitionMember_PMCollection_PartitionMember" ZOrder="120" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-696</X>
@@ -5497,7 +5497,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PMCollection_PMCollection_PartitionMember" ZOrder="110" LineWidth="11">
+    <Connector ID="DesignRelation:PMCollection_PMCollection_PartitionMember" ZOrder="111" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-682</X>
@@ -5537,7 +5537,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualPeripheral_VirtualDevice" ZOrder="148" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualPeripheral_VirtualDevice" ZOrder="149" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>366</X>
Index: ConfigApp.Logic/DataLoader.cs
===================================================================
--- ConfigApp.Logic/DataLoader.cs	(revision 3451)
+++ ConfigApp.Logic/DataLoader.cs	(working copy)
@@ -128,7 +128,7 @@
                 InternalDataStore.DataSet.EnforceConstraints = false;
                 InternalDataStore.DataSet.XML = xmlData;
                 InsertRoomUIDs();
-                InitDatapoints();
+                LoadDatapoints();
                 FixSimpleFilterTriggers();
                 FixUserTriggers();
                 CheckUniqueIDsAndDBNulls();
@@ -138,7 +138,7 @@
             }
         }
 
-        private static void InitDatapoints()
+        private static void LoadDatapoints()
         {
             // Init partitions
             var partitions = InternalDataStore.DataSet.DatapointNumbers.Where(p => p.ItemType == "Partition");
@@ -196,45 +196,18 @@
             var doors = InternalDataStore.DataSet.DatapointNumbers.Where(p => p.ItemType == "Door");
             foreach (var door in doors)
             {
-                var od1 = InternalDataStore.DataSet.HWBus2Identkey3.FirstOrDefault(p => p.UID == door.ItemUID);
+                var od1 = InternalDataStore.DataSet.VirtualBusDoor.FirstOrDefault(p => p.UID == door.ItemUID);
                 if (od1 != null)
                 {
-                    od1.DoorDatapointNumber = door.DatapointNumber;
+                    od1.DatapointNumber = door.DatapointNumber;
                 }
-                else
-                {
-                    var od2 = InternalDataStore.DataSet.HWBus2DoorControllerModule.FirstOrDefault(p => p.UID == door.ItemUID);
-                    if (od2 != null)
-                    {
-                        od2.DoorDatapointNumber = door.DatapointNumber;
-                    }
-                    else
-                    {
-                        var od3 = InternalDataStore.DataSet.HWBus2DoorGuard.FirstOrDefault(p => p.UID == door.ItemUID);
-                        if (od3 != null)
-                        {
-                            od3.DoorDatapointNumber = door.DatapointNumber;
-                        }
-                    }
-                }
             }
             // Set datapoint numbers for rows which haven't any
-            var nddoorguards = InternalDataStore.DataSet.HWBus2DoorGuard.Where(p => p.IsDoorDatapointNumberNull());
-            foreach (var row in nddoorguards)
+            var ndoors = InternalDataStore.DataSet.VirtualBusDoor.Where(p => p.IsDatapointNumberNull());
+            foreach (var row in ndoors)
             {
-                row.DoorDatapointNumber = DatapointNumberHelper.GetDoorNumber();
+                row.DatapointNumber = DatapointNumberHelper.GetDoorNumber();
             }
-            var nddoorcontrollers =
-                InternalDataStore.DataSet.HWBus2DoorControllerModule.Where(p => p.IsDoorDatapointNumberNull());
-            foreach (var row in nddoorcontrollers)
-            {
-                row.DoorDatapointNumber = DatapointNumberHelper.GetDoorNumber();
-            }
-            var ndiks3 = InternalDataStore.DataSet.HWBus2Identkey3.Where(p => p.IsDoorDatapointNumberNull());
-            foreach (var row in ndiks3)
-            {
-                row.DoorDatapointNumber = DatapointNumberHelper.GetDoorNumber();
-            }
 
             var rfDevices = InternalDataStore.DataSet.DatapointNumbers.Where(p => p.ItemType == "WirelessDevice");
             foreach (var rfDevice in rfDevices)
Index: ConfigApp.Logic/Datapoints/DatapointNumberHelper.cs
===================================================================
--- ConfigApp.Logic/Datapoints/DatapointNumberHelper.cs	(revision 3451)
+++ ConfigApp.Logic/Datapoints/DatapointNumberHelper.cs	(working copy)
@@ -151,11 +151,7 @@
                 limit = 1;
             }
             bool retVal =
-                (
-                 InternalDataStore.DataSet.HWBus2DoorGuard.Count(p => !p.IsDoorDatapointNumberNull() && p.DoorDatapointNumber == number) +
-                 InternalDataStore.DataSet.HWBus2DoorControllerModule.Count(p => !p.IsDoorDatapointNumberNull() && p.DoorDatapointNumber == number) +
-                 InternalDataStore.DataSet.HWBus2Identkey3.Count(p => !p.IsDoorDatapointNumberNull() && p.DoorDatapointNumber == number)
-                ) <= limit
+                InternalDataStore.DataSet.VirtualBusDoor.Count(p => !p.IsDatapointNumberNull() && p.DatapointNumber == number) <= limit
                 && number >= DoorStart && number <= DoorEnd;
             return retVal;
         }
Index: ConfigApp.Logic/Datapoints/DatapointSaver.cs
===================================================================
--- ConfigApp.Logic/Datapoints/DatapointSaver.cs	(revision 3451)
+++ ConfigApp.Logic/Datapoints/DatapointSaver.cs	(working copy)
@@ -88,47 +88,18 @@
 
         private static void SaveDoors()
         {
-            // Door guard
-            var doorGuards = InternalDataStore.DataSet.HWBus2DoorGuard.Where(p => !p.IsDoorDatapointNumberNull());
-            foreach (var doorGuard in doorGuards)
+            var doors = InternalDataStore.DataSet.VirtualBusDoor.Where(p => !p.IsDatapointNumberNull());
+            foreach (var door in doors)
             {
                 var row = InternalDataStore.DataSet.DatapointNumbers.NewDatapointNumbersRow();
-                row.ItemUID = doorGuard.UID;
-                row.VirtualItemUID = 0;
+                row.ItemUID = door.UID;
+                row.VirtualItemUID = door.UID;
                 row.ItemType = "Door";
-                row.DatapointNumber = doorGuard.DoorDatapointNumber;
-                row.Name = doorGuard.HardwareDeviceRow.Name;
+                row.DatapointNumber = door.DatapointNumber;
+                row.Name = door.expName;
                 row.DatapointType = "300070002";
                 InternalDataStore.DataSet.DatapointNumbers.AddDatapointNumbersRow(row);
             }
-
-            // IdentKey-3
-            var identkeys = InternalDataStore.DataSet.HWBus2Identkey3.Where(p => !p.IsDoorDatapointNumberNull());
-            foreach (var identkey in identkeys)
-            {
-                var row = InternalDataStore.DataSet.DatapointNumbers.NewDatapointNumbersRow();
-                row.ItemUID = identkey.UID;
-                row.VirtualItemUID = 0;
-                row.ItemType = "Door";
-                row.DatapointNumber = identkey.DoorDatapointNumber;
-                row.Name = identkey.HardwareDeviceRow.Name;
-                row.DatapointType = "300070002";
-                InternalDataStore.DataSet.DatapointNumbers.AddDatapointNumbersRow(row);
-            }
-
-            // Door controller module
-            var doorControllerModules = InternalDataStore.DataSet.HWBus2DoorControllerModule.Where(p => !p.IsDoorDatapointNumberNull());
-            foreach (var doorControllerModule in doorControllerModules)
-            {
-                var row = InternalDataStore.DataSet.DatapointNumbers.NewDatapointNumbersRow();
-                row.ItemUID = doorControllerModule.UID;
-                row.VirtualItemUID = 0;
-                row.ItemType = "Door";
-                row.DatapointNumber = doorControllerModule.DoorDatapointNumber;
-                row.Name = doorControllerModule.HardwareDeviceRow.Name;
-                row.DatapointType = "300070002";
-                InternalDataStore.DataSet.DatapointNumbers.AddDatapointNumbersRow(row);
-            }
         }
 
         private static void SaveMacros()
Index: ConfigApp/Views/SystemData/Partitions/DoorListView.cs
===================================================================
--- ConfigApp/Views/SystemData/Partitions/DoorListView.cs	(revision 3451)
+++ ConfigApp/Views/SystemData/Partitions/DoorListView.cs	(working copy)
@@ -1,16 +1,12 @@
 using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
 using System.Data;
 using System.Diagnostics;
-using System.Text;
-using System.Windows.Forms;
 using DevExpress.XtraEditors;
 using DevExpress.XtraLayout.Utils;
 using DevExpress.XtraEditors.Controls;
 using Honeywell.MBEMEA.ConfigApp.Data;
 using Honeywell.MBEMEA.ConfigApp.Logic;
+using Honeywell.MBEMEA.ConfigApp.Logic.Datapoints;
 using Honeywell.MBEMEA.ConfigApp.Templates;
 using DevExpress.XtraGrid.Views.Grid;
 using DevExpress.XtraGrid.Menu;
@@ -123,6 +119,20 @@
             {
                 if (CurrentRow != null)
                 {
+                    if (MainBindingSource.Position >= 0 && MainBindingSource.Current != null)
+                    {
+                        MainBindingSource.EndEdit();
+                        var view = MainBindingSource.Current as DataRowView;
+                        if (view != null)
+                        {
+                            var busdoor = view.Row as InternalDataSet.VirtualBusDoorRow;
+                            if (busdoor != null && busdoor.RowState != DataRowState.Unchanged)
+                            {
+                                return true;
+                            }
+                        }
+                    }
+
                     if ((VirtualDoorBindingSource.Position>=0) && (VirtualDoorBindingSource.Current != null))
                     {
                         VirtualDoorBindingSource.EndEdit();
@@ -551,5 +561,34 @@
                 DoorOpenSignalIntSecTimeEdit.EditValue = (object)(MaxVal);
             }
         }
+
+        private void spinEditDatapointNumber_Leave(object sender, EventArgs e)
+        {
+            if (spinEditDatapointNumber.EditValue == null)
+            {
+                return;
+            }
+
+            int val = (int)spinEditDatapointNumber.Value;
+            int val2 = DatapointNumberHelper.GetDoorNumber(val, true);
+            if (val != val2)
+            {
+                spinEditDatapointNumber.Value = val2;
+            }
+        }
+
+        private void MainBindingSource_CurrentChanged(object sender, EventArgs e)
+        {
+            var currView = MainBindingSource.Current as DataRowView;
+            if (currView != null)
+            {
+                var currRow = currView.Row as InternalDataSet.VirtualBusDoorRow;
+                if (currRow != null && currRow.IsDatapointNumberNull())
+                {
+                    currRow.DatapointNumber = DatapointNumberHelper.GetDoorNumber();
+                    currRow.AcceptChanges();
+                }
+            }
+        }
     }
 }
Index: ConfigApp/Views/SystemData/Partitions/DoorListView.Designer.cs
===================================================================
--- ConfigApp/Views/SystemData/Partitions/DoorListView.Designer.cs	(revision 3451)
+++ ConfigApp/Views/SystemData/Partitions/DoorListView.Designer.cs	(working copy)
@@ -39,6 +39,7 @@
             this.VirtualDeviceBindingSource = new System.Windows.Forms.BindingSource(this.components);
             this.APPrimaryBindingSource = new System.Windows.Forms.BindingSource(this.components);
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.spinEditDatapointNumber = new DevExpress.XtraEditors.SpinEdit();
             this.checkEditAccessAfterUnset2 = new DevExpress.XtraEditors.CheckEdit();
             this.APSecondaryBindingSource = new System.Windows.Forms.BindingSource(this.components);
             this.checkEditAccessAfterUnset1 = new DevExpress.XtraEditors.CheckEdit();
@@ -113,29 +114,6 @@
             this.comboBoxEditEventDocTypeOutside = new DevExpress.XtraEditors.CheckEdit();
             this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
             this.tabbedControlGroup1 = new DevExpress.XtraLayout.TabbedControlGroup();
-            this.layoutControlGroupSettings = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.DoorSettingsACInsideLayoutControlGroup = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem18 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem33 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem50 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.DoorSettingsACOutsideLayoutControlGroup = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem34 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem60 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlGroupGeneral = new DevExpress.XtraLayout.LayoutControlGroup();
             this.layoutControlItem23 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem24 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -175,6 +153,7 @@
             this.layoutControlItem32 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem31 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem45 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemDatapointNumber = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlGroupFaultTries = new DevExpress.XtraLayout.LayoutControlGroup();
             this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
             this.layoutControlItem25 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -188,6 +167,29 @@
             this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem20 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem21 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlGroupSettings = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.DoorSettingsACInsideLayoutControlGroup = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem18 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem33 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem50 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.DoorSettingsACOutsideLayoutControlGroup = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem34 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem60 = new DevExpress.XtraLayout.LayoutControlItem();
             this.PartitionBindingSource = new System.Windows.Forms.BindingSource(this.components);
             this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup();
@@ -205,6 +207,7 @@
             ((System.ComponentModel.ISupportInitialize)(this.APPrimaryBindingSource)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.spinEditDatapointNumber.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.checkEditAccessAfterUnset2.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.APSecondaryBindingSource)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.checkEditAccessAfterUnset1.Properties)).BeginInit();
@@ -279,29 +282,6 @@
             ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditEventDocTypeOutside.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroupSettings)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.DoorSettingsACInsideLayoutControlGroup)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem33)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem50)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.DoorSettingsACOutsideLayoutControlGroup)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem34)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem60)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroupGeneral)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem23)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem24)).BeginInit();
@@ -341,6 +321,7 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem32)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem31)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem45)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemDatapointNumber)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroupFaultTries)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem25)).BeginInit();
@@ -354,6 +335,29 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroupSettings)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.DoorSettingsACInsideLayoutControlGroup)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem33)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem50)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.DoorSettingsACOutsideLayoutControlGroup)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem34)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem60)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.PartitionBindingSource)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit();
@@ -377,6 +381,7 @@
             this.MainBindingSource.DataMember = "VirtualBusDoor";
             this.MainBindingSource.Filter = "";
             this.MainBindingSource.Position = -1;
+            this.MainBindingSource.CurrentChanged += new System.EventHandler(this.MainBindingSource_CurrentChanged);
             // 
             // gridControl1
             // 
@@ -448,6 +453,7 @@
             // layoutControl1
             // 
             this.layoutControl1.AllowCustomizationMenu = false;
+            this.layoutControl1.Controls.Add(this.spinEditDatapointNumber);
             this.layoutControl1.Controls.Add(this.checkEditAccessAfterUnset2);
             this.layoutControl1.Controls.Add(this.checkEditAccessAfterUnset1);
             this.layoutControl1.Controls.Add(this.checkEdit3);
@@ -519,6 +525,31 @@
             this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(987, 168, 250, 350);
             this.layoutControl1.Root = this.layoutControlGroup1;
             // 
+            // spinEditDatapointNumber
+            // 
+            this.spinEditDatapointNumber.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "DatapointNumber", true));
+            resources.ApplyResources(this.spinEditDatapointNumber, "spinEditDatapointNumber");
+            this.spinEditDatapointNumber.Name = "spinEditDatapointNumber";
+            this.spinEditDatapointNumber.Properties.Appearance.Options.UseTextOptions = true;
+            this.spinEditDatapointNumber.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
+            this.spinEditDatapointNumber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("spinEditDatapointNumber.Properties.Buttons"))))});
+            this.spinEditDatapointNumber.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
+            this.spinEditDatapointNumber.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
+            this.spinEditDatapointNumber.Properties.Mask.EditMask = resources.GetString("spinEditDatapointNumber.Properties.Mask.EditMask");
+            this.spinEditDatapointNumber.Properties.MaxValue = new decimal(new int[] {
+            6631,
+            0,
+            0,
+            0});
+            this.spinEditDatapointNumber.Properties.MinValue = new decimal(new int[] {
+            5608,
+            0,
+            0,
+            0});
+            this.spinEditDatapointNumber.StyleController = this.layoutControl1;
+            this.spinEditDatapointNumber.Leave += new System.EventHandler(this.spinEditDatapointNumber_Leave);
+            // 
             // checkEditAccessAfterUnset2
             // 
             this.checkEditAccessAfterUnset2.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.APSecondaryBindingSource, "AccessAfterUnset", true));
@@ -1418,7 +1449,7 @@
             this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
             this.layoutControlGroup1.Name = "layoutControlGroup1";
             this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlGroup1.Size = new System.Drawing.Size(677, 589);
+            this.layoutControlGroup1.Size = new System.Drawing.Size(677, 613);
             this.layoutControlGroup1.TextVisible = false;
             // 
             // tabbedControlGroup1
@@ -1426,244 +1457,14 @@
             resources.ApplyResources(this.tabbedControlGroup1, "tabbedControlGroup1");
             this.tabbedControlGroup1.Location = new System.Drawing.Point(0, 0);
             this.tabbedControlGroup1.Name = "tabbedControlGroup1";
-            this.tabbedControlGroup1.SelectedTabPage = this.layoutControlGroupSettings;
-            this.tabbedControlGroup1.SelectedTabPageIndex = 2;
-            this.tabbedControlGroup1.Size = new System.Drawing.Size(677, 589);
+            this.tabbedControlGroup1.SelectedTabPage = this.layoutControlGroupGeneral;
+            this.tabbedControlGroup1.SelectedTabPageIndex = 0;
+            this.tabbedControlGroup1.Size = new System.Drawing.Size(677, 613);
             this.tabbedControlGroup1.TabPages.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlGroupGeneral,
             this.layoutControlGroupFaultTries,
             this.layoutControlGroupSettings});
             // 
-            // layoutControlGroupSettings
-            // 
-            resources.ApplyResources(this.layoutControlGroupSettings, "layoutControlGroupSettings");
-            this.layoutControlGroupSettings.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.DoorSettingsACInsideLayoutControlGroup,
-            this.DoorSettingsACOutsideLayoutControlGroup});
-            this.layoutControlGroupSettings.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlGroupSettings.Name = "layoutControlGroupSettings";
-            this.layoutControlGroupSettings.Size = new System.Drawing.Size(653, 543);
-            // 
-            // DoorSettingsACInsideLayoutControlGroup
-            // 
-            resources.ApplyResources(this.DoorSettingsACInsideLayoutControlGroup, "DoorSettingsACInsideLayoutControlGroup");
-            this.DoorSettingsACInsideLayoutControlGroup.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem13,
-            this.layoutControlItem14,
-            this.layoutControlItem15,
-            this.layoutControlItem16,
-            this.layoutControlItem17,
-            this.layoutControlItem19,
-            this.layoutControlItem18,
-            this.layoutControlItem33,
-            this.layoutControlItem22,
-            this.layoutControlItem50});
-            this.DoorSettingsACInsideLayoutControlGroup.Location = new System.Drawing.Point(0, 0);
-            this.DoorSettingsACInsideLayoutControlGroup.Name = "DoorSettingsACInsideLayoutControlGroup";
-            this.DoorSettingsACInsideLayoutControlGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
-            this.DoorSettingsACInsideLayoutControlGroup.Size = new System.Drawing.Size(326, 543);
-            // 
-            // layoutControlItem13
-            // 
-            this.layoutControlItem13.Control = this.comboBoxModeAccess;
-            resources.ApplyResources(this.layoutControlItem13, "layoutControlItem13");
-            this.layoutControlItem13.Location = new System.Drawing.Point(0, 47);
-            this.layoutControlItem13.Name = "layoutControlItem13";
-            this.layoutControlItem13.Size = new System.Drawing.Size(316, 24);
-            this.layoutControlItem13.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem14
-            // 
-            this.layoutControlItem14.Control = this.comboBoxModeAccessNoSchedule;
-            resources.ApplyResources(this.layoutControlItem14, "layoutControlItem14");
-            this.layoutControlItem14.Location = new System.Drawing.Point(0, 71);
-            this.layoutControlItem14.Name = "layoutControlItem14";
-            this.layoutControlItem14.Size = new System.Drawing.Size(316, 24);
-            this.layoutControlItem14.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem15
-            // 
-            this.layoutControlItem15.Control = this.comboBoxModeSet;
-            resources.ApplyResources(this.layoutControlItem15, "layoutControlItem15");
-            this.layoutControlItem15.Location = new System.Drawing.Point(0, 95);
-            this.layoutControlItem15.Name = "layoutControlItem15";
-            this.layoutControlItem15.Size = new System.Drawing.Size(316, 24);
-            this.layoutControlItem15.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem16
-            // 
-            this.layoutControlItem16.Control = this.comboBoxModePartSet;
-            resources.ApplyResources(this.layoutControlItem16, "layoutControlItem16");
-            this.layoutControlItem16.Location = new System.Drawing.Point(0, 119);
-            this.layoutControlItem16.Name = "layoutControlItem16";
-            this.layoutControlItem16.Size = new System.Drawing.Size(316, 24);
-            this.layoutControlItem16.TextSize = new System.Drawing.Size(131, 13);
-            this.layoutControlItem16.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.OnlyInCustomization;
-            // 
-            // layoutControlItem17
-            // 
-            this.layoutControlItem17.Control = this.comboBoxModeUnset;
-            resources.ApplyResources(this.layoutControlItem17, "layoutControlItem17");
-            this.layoutControlItem17.Location = new System.Drawing.Point(0, 143);
-            this.layoutControlItem17.Name = "layoutControlItem17";
-            this.layoutControlItem17.Size = new System.Drawing.Size(316, 24);
-            this.layoutControlItem17.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem19
-            // 
-            this.layoutControlItem19.Control = this.comboBoxModeMacro;
-            resources.ApplyResources(this.layoutControlItem19, "layoutControlItem19");
-            this.layoutControlItem19.Location = new System.Drawing.Point(0, 191);
-            this.layoutControlItem19.Name = "layoutControlItem19";
-            this.layoutControlItem19.Size = new System.Drawing.Size(316, 24);
-            this.layoutControlItem19.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem18
-            // 
-            this.layoutControlItem18.Control = this.comboBoxModeQuickMacro;
-            resources.ApplyResources(this.layoutControlItem18, "layoutControlItem18");
-            this.layoutControlItem18.Location = new System.Drawing.Point(0, 167);
-            this.layoutControlItem18.Name = "layoutControlItem18";
-            this.layoutControlItem18.Size = new System.Drawing.Size(316, 24);
-            this.layoutControlItem18.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem33
-            // 
-            this.layoutControlItem33.Control = this.textEditCodeData1;
-            resources.ApplyResources(this.layoutControlItem33, "layoutControlItem33");
-            this.layoutControlItem33.Location = new System.Drawing.Point(0, 215);
-            this.layoutControlItem33.Name = "layoutControlItem33";
-            this.layoutControlItem33.Size = new System.Drawing.Size(316, 299);
-            this.layoutControlItem33.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem22
-            // 
-            this.layoutControlItem22.Control = this.AP1DoorReleaseTimeIntSecTimeEdit;
-            resources.ApplyResources(this.layoutControlItem22, "layoutControlItem22");
-            this.layoutControlItem22.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem22.Name = "layoutControlItem22";
-            this.layoutControlItem22.Size = new System.Drawing.Size(316, 24);
-            this.layoutControlItem22.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem50
-            // 
-            this.layoutControlItem50.Control = this.checkEditAccessAfterUnset1;
-            resources.ApplyResources(this.layoutControlItem50, "layoutControlItem50");
-            this.layoutControlItem50.Location = new System.Drawing.Point(0, 24);
-            this.layoutControlItem50.Name = "layoutControlItem50";
-            this.layoutControlItem50.Size = new System.Drawing.Size(316, 23);
-            this.layoutControlItem50.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // DoorSettingsACOutsideLayoutControlGroup
-            // 
-            resources.ApplyResources(this.DoorSettingsACOutsideLayoutControlGroup, "DoorSettingsACOutsideLayoutControlGroup");
-            this.DoorSettingsACOutsideLayoutControlGroup.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem5,
-            this.layoutControlItem6,
-            this.layoutControlItem7,
-            this.layoutControlItem8,
-            this.layoutControlItem9,
-            this.layoutControlItem1,
-            this.layoutControlItem10,
-            this.layoutControlItem34,
-            this.layoutControlItem11,
-            this.layoutControlItem60});
-            this.DoorSettingsACOutsideLayoutControlGroup.Location = new System.Drawing.Point(326, 0);
-            this.DoorSettingsACOutsideLayoutControlGroup.Name = "DoorSettingsACOutsideLayoutControlGroup";
-            this.DoorSettingsACOutsideLayoutControlGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
-            this.DoorSettingsACOutsideLayoutControlGroup.Size = new System.Drawing.Size(327, 543);
-            // 
-            // layoutControlItem5
-            // 
-            this.layoutControlItem5.Control = this.comboBoxModeAccessNoScheduleOutside;
-            resources.ApplyResources(this.layoutControlItem5, "layoutControlItem5");
-            this.layoutControlItem5.Location = new System.Drawing.Point(0, 71);
-            this.layoutControlItem5.Name = "layoutControlItem5";
-            this.layoutControlItem5.Size = new System.Drawing.Size(317, 24);
-            this.layoutControlItem5.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem6
-            // 
-            this.layoutControlItem6.Control = this.comboBoxModeSetOutside;
-            resources.ApplyResources(this.layoutControlItem6, "layoutControlItem6");
-            this.layoutControlItem6.Location = new System.Drawing.Point(0, 95);
-            this.layoutControlItem6.Name = "layoutControlItem6";
-            this.layoutControlItem6.Size = new System.Drawing.Size(317, 24);
-            this.layoutControlItem6.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem7
-            // 
-            this.layoutControlItem7.Control = this.comboBoxModePartSetOutside;
-            resources.ApplyResources(this.layoutControlItem7, "layoutControlItem7");
-            this.layoutControlItem7.Location = new System.Drawing.Point(0, 119);
-            this.layoutControlItem7.Name = "layoutControlItem7";
-            this.layoutControlItem7.Size = new System.Drawing.Size(317, 24);
-            this.layoutControlItem7.TextSize = new System.Drawing.Size(131, 13);
-            this.layoutControlItem7.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.OnlyInCustomization;
-            // 
-            // layoutControlItem8
-            // 
-            this.layoutControlItem8.Control = this.comboBoxModeUnsetOutside;
-            resources.ApplyResources(this.layoutControlItem8, "layoutControlItem8");
-            this.layoutControlItem8.Location = new System.Drawing.Point(0, 143);
-            this.layoutControlItem8.Name = "layoutControlItem8";
-            this.layoutControlItem8.Size = new System.Drawing.Size(317, 24);
-            this.layoutControlItem8.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem9
-            // 
-            this.layoutControlItem9.Control = this.comboBoxModeMacroOutside;
-            resources.ApplyResources(this.layoutControlItem9, "layoutControlItem9");
-            this.layoutControlItem9.Location = new System.Drawing.Point(0, 191);
-            this.layoutControlItem9.Name = "layoutControlItem9";
-            this.layoutControlItem9.Size = new System.Drawing.Size(317, 24);
-            this.layoutControlItem9.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem1
-            // 
-            this.layoutControlItem1.Control = this.comboBoxModeAccessOutside;
-            resources.ApplyResources(this.layoutControlItem1, "layoutControlItem1");
-            this.layoutControlItem1.Location = new System.Drawing.Point(0, 47);
-            this.layoutControlItem1.Name = "layoutControlItem1";
-            this.layoutControlItem1.Size = new System.Drawing.Size(317, 24);
-            this.layoutControlItem1.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem10
-            // 
-            this.layoutControlItem10.Control = this.comboBoxModeQuickMacroOutside;
-            resources.ApplyResources(this.layoutControlItem10, "layoutControlItem10");
-            this.layoutControlItem10.Location = new System.Drawing.Point(0, 167);
-            this.layoutControlItem10.Name = "layoutControlItem10";
-            this.layoutControlItem10.Size = new System.Drawing.Size(317, 24);
-            this.layoutControlItem10.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem34
-            // 
-            this.layoutControlItem34.Control = this.textEditCodeData2;
-            resources.ApplyResources(this.layoutControlItem34, "layoutControlItem34");
-            this.layoutControlItem34.Location = new System.Drawing.Point(0, 215);
-            this.layoutControlItem34.Name = "layoutControlItem34";
-            this.layoutControlItem34.Size = new System.Drawing.Size(317, 299);
-            this.layoutControlItem34.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem11
-            // 
-            this.layoutControlItem11.Control = this.AP2DoorReleaseTimeIntSecTimeEdit;
-            resources.ApplyResources(this.layoutControlItem11, "layoutControlItem11");
-            this.layoutControlItem11.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem11.Name = "layoutControlItem11";
-            this.layoutControlItem11.Size = new System.Drawing.Size(317, 24);
-            this.layoutControlItem11.TextSize = new System.Drawing.Size(131, 13);
-            // 
-            // layoutControlItem60
-            // 
-            this.layoutControlItem60.Control = this.checkEditAccessAfterUnset2;
-            resources.ApplyResources(this.layoutControlItem60, "layoutControlItem60");
-            this.layoutControlItem60.Location = new System.Drawing.Point(0, 24);
-            this.layoutControlItem60.Name = "layoutControlItem60";
-            this.layoutControlItem60.Size = new System.Drawing.Size(317, 23);
-            this.layoutControlItem60.TextSize = new System.Drawing.Size(131, 13);
-            // 
             // layoutControlGroupGeneral
             // 
             resources.ApplyResources(this.layoutControlGroupGeneral, "layoutControlGroupGeneral");
@@ -1677,10 +1478,11 @@
             this.ACOutsideLayoutControlGroup,
             this.layoutControlItem32,
             this.layoutControlItem31,
-            this.layoutControlItem45});
+            this.layoutControlItem45,
+            this.layoutControlItemDatapointNumber});
             this.layoutControlGroupGeneral.Location = new System.Drawing.Point(0, 0);
             this.layoutControlGroupGeneral.Name = "layoutControlGroupGeneral";
-            this.layoutControlGroupGeneral.Size = new System.Drawing.Size(653, 543);
+            this.layoutControlGroupGeneral.Size = new System.Drawing.Size(653, 567);
             // 
             // layoutControlItem23
             // 
@@ -1747,7 +1549,7 @@
             this.layoutControlItem43,
             this.layoutControlItem47,
             this.layoutControlItem57});
-            this.ACInsideLayoutControlGroup.Location = new System.Drawing.Point(0, 166);
+            this.ACInsideLayoutControlGroup.Location = new System.Drawing.Point(0, 190);
             this.ACInsideLayoutControlGroup.Name = "ACInsideLayoutControlGroup";
             this.ACInsideLayoutControlGroup.Size = new System.Drawing.Size(326, 377);
             // 
@@ -1896,7 +1698,7 @@
             this.layoutControlItem44,
             this.layoutControlItem48,
             this.layoutControlItem59});
-            this.ACOutsideLayoutControlGroup.Location = new System.Drawing.Point(326, 166);
+            this.ACOutsideLayoutControlGroup.Location = new System.Drawing.Point(326, 190);
             this.ACOutsideLayoutControlGroup.Name = "ACOutsideLayoutControlGroup";
             this.ACOutsideLayoutControlGroup.Size = new System.Drawing.Size(327, 377);
             // 
@@ -2054,6 +1856,15 @@
             this.layoutControlItem45.Size = new System.Drawing.Size(327, 23);
             this.layoutControlItem45.TextSize = new System.Drawing.Size(131, 13);
             // 
+            // layoutControlItemDatapointNumber
+            // 
+            this.layoutControlItemDatapointNumber.Control = this.spinEditDatapointNumber;
+            resources.ApplyResources(this.layoutControlItemDatapointNumber, "layoutControlItemDatapointNumber");
+            this.layoutControlItemDatapointNumber.Location = new System.Drawing.Point(0, 166);
+            this.layoutControlItemDatapointNumber.Name = "layoutControlItemDatapointNumber";
+            this.layoutControlItemDatapointNumber.Size = new System.Drawing.Size(653, 24);
+            this.layoutControlItemDatapointNumber.TextSize = new System.Drawing.Size(131, 13);
+            // 
             // layoutControlGroupFaultTries
             // 
             resources.ApplyResources(this.layoutControlGroupFaultTries, "layoutControlGroupFaultTries");
@@ -2062,7 +1873,7 @@
             this.layoutControlGroup5});
             this.layoutControlGroupFaultTries.Location = new System.Drawing.Point(0, 0);
             this.layoutControlGroupFaultTries.Name = "layoutControlGroupFaultTries";
-            this.layoutControlGroupFaultTries.Size = new System.Drawing.Size(653, 543);
+            this.layoutControlGroupFaultTries.Size = new System.Drawing.Size(653, 567);
             // 
             // layoutControlGroup4
             // 
@@ -2075,7 +1886,7 @@
             this.layoutControlItem29});
             this.layoutControlGroup4.Location = new System.Drawing.Point(0, 0);
             this.layoutControlGroup4.Name = "layoutControlGroup4";
-            this.layoutControlGroup4.Size = new System.Drawing.Size(326, 543);
+            this.layoutControlGroup4.Size = new System.Drawing.Size(326, 567);
             // 
             // layoutControlItem25
             // 
@@ -2119,7 +1930,7 @@
             resources.ApplyResources(this.layoutControlItem29, "layoutControlItem29");
             this.layoutControlItem29.Location = new System.Drawing.Point(0, 96);
             this.layoutControlItem29.Name = "layoutControlItem29";
-            this.layoutControlItem29.Size = new System.Drawing.Size(302, 404);
+            this.layoutControlItem29.Size = new System.Drawing.Size(302, 428);
             this.layoutControlItem29.TextSize = new System.Drawing.Size(131, 13);
             // 
             // layoutControlGroup5
@@ -2133,7 +1944,7 @@
             this.layoutControlItem21});
             this.layoutControlGroup5.Location = new System.Drawing.Point(326, 0);
             this.layoutControlGroup5.Name = "layoutControlGroup5";
-            this.layoutControlGroup5.Size = new System.Drawing.Size(327, 543);
+            this.layoutControlGroup5.Size = new System.Drawing.Size(327, 567);
             // 
             // layoutControlItem2
             // 
@@ -2177,9 +1988,239 @@
             resources.ApplyResources(this.layoutControlItem21, "layoutControlItem21");
             this.layoutControlItem21.Location = new System.Drawing.Point(0, 96);
             this.layoutControlItem21.Name = "layoutControlItem21";
-            this.layoutControlItem21.Size = new System.Drawing.Size(303, 404);
+            this.layoutControlItem21.Size = new System.Drawing.Size(303, 428);
             this.layoutControlItem21.TextSize = new System.Drawing.Size(131, 13);
             // 
+            // layoutControlGroupSettings
+            // 
+            resources.ApplyResources(this.layoutControlGroupSettings, "layoutControlGroupSettings");
+            this.layoutControlGroupSettings.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.DoorSettingsACInsideLayoutControlGroup,
+            this.DoorSettingsACOutsideLayoutControlGroup});
+            this.layoutControlGroupSettings.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlGroupSettings.Name = "layoutControlGroupSettings";
+            this.layoutControlGroupSettings.Size = new System.Drawing.Size(653, 567);
+            // 
+            // DoorSettingsACInsideLayoutControlGroup
+            // 
+            resources.ApplyResources(this.DoorSettingsACInsideLayoutControlGroup, "DoorSettingsACInsideLayoutControlGroup");
+            this.DoorSettingsACInsideLayoutControlGroup.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem13,
+            this.layoutControlItem14,
+            this.layoutControlItem15,
+            this.layoutControlItem16,
+            this.layoutControlItem17,
+            this.layoutControlItem19,
+            this.layoutControlItem18,
+            this.layoutControlItem33,
+            this.layoutControlItem22,
+            this.layoutControlItem50});
+            this.DoorSettingsACInsideLayoutControlGroup.Location = new System.Drawing.Point(0, 0);
+            this.DoorSettingsACInsideLayoutControlGroup.Name = "DoorSettingsACInsideLayoutControlGroup";
+            this.DoorSettingsACInsideLayoutControlGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
+            this.DoorSettingsACInsideLayoutControlGroup.Size = new System.Drawing.Size(326, 567);
+            // 
+            // layoutControlItem13
+            // 
+            this.layoutControlItem13.Control = this.comboBoxModeAccess;
+            resources.ApplyResources(this.layoutControlItem13, "layoutControlItem13");
+            this.layoutControlItem13.Location = new System.Drawing.Point(0, 47);
+            this.layoutControlItem13.Name = "layoutControlItem13";
+            this.layoutControlItem13.Size = new System.Drawing.Size(316, 24);
+            this.layoutControlItem13.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem14
+            // 
+            this.layoutControlItem14.Control = this.comboBoxModeAccessNoSchedule;
+            resources.ApplyResources(this.layoutControlItem14, "layoutControlItem14");
+            this.layoutControlItem14.Location = new System.Drawing.Point(0, 71);
+            this.layoutControlItem14.Name = "layoutControlItem14";
+            this.layoutControlItem14.Size = new System.Drawing.Size(316, 24);
+            this.layoutControlItem14.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem15
+            // 
+            this.layoutControlItem15.Control = this.comboBoxModeSet;
+            resources.ApplyResources(this.layoutControlItem15, "layoutControlItem15");
+            this.layoutControlItem15.Location = new System.Drawing.Point(0, 95);
+            this.layoutControlItem15.Name = "layoutControlItem15";
+            this.layoutControlItem15.Size = new System.Drawing.Size(316, 24);
+            this.layoutControlItem15.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem16
+            // 
+            this.layoutControlItem16.Control = this.comboBoxModePartSet;
+            resources.ApplyResources(this.layoutControlItem16, "layoutControlItem16");
+            this.layoutControlItem16.Location = new System.Drawing.Point(0, 119);
+            this.layoutControlItem16.Name = "layoutControlItem16";
+            this.layoutControlItem16.Size = new System.Drawing.Size(316, 24);
+            this.layoutControlItem16.TextSize = new System.Drawing.Size(131, 13);
+            this.layoutControlItem16.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.OnlyInCustomization;
+            // 
+            // layoutControlItem17
+            // 
+            this.layoutControlItem17.Control = this.comboBoxModeUnset;
+            resources.ApplyResources(this.layoutControlItem17, "layoutControlItem17");
+            this.layoutControlItem17.Location = new System.Drawing.Point(0, 143);
+            this.layoutControlItem17.Name = "layoutControlItem17";
+            this.layoutControlItem17.Size = new System.Drawing.Size(316, 24);
+            this.layoutControlItem17.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem19
+            // 
+            this.layoutControlItem19.Control = this.comboBoxModeMacro;
+            resources.ApplyResources(this.layoutControlItem19, "layoutControlItem19");
+            this.layoutControlItem19.Location = new System.Drawing.Point(0, 191);
+            this.layoutControlItem19.Name = "layoutControlItem19";
+            this.layoutControlItem19.Size = new System.Drawing.Size(316, 24);
+            this.layoutControlItem19.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem18
+            // 
+            this.layoutControlItem18.Control = this.comboBoxModeQuickMacro;
+            resources.ApplyResources(this.layoutControlItem18, "layoutControlItem18");
+            this.layoutControlItem18.Location = new System.Drawing.Point(0, 167);
+            this.layoutControlItem18.Name = "layoutControlItem18";
+            this.layoutControlItem18.Size = new System.Drawing.Size(316, 24);
+            this.layoutControlItem18.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem33
+            // 
+            this.layoutControlItem33.Control = this.textEditCodeData1;
+            resources.ApplyResources(this.layoutControlItem33, "layoutControlItem33");
+            this.layoutControlItem33.Location = new System.Drawing.Point(0, 215);
+            this.layoutControlItem33.Name = "layoutControlItem33";
+            this.layoutControlItem33.Size = new System.Drawing.Size(316, 323);
+            this.layoutControlItem33.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem22
+            // 
+            this.layoutControlItem22.Control = this.AP1DoorReleaseTimeIntSecTimeEdit;
+            resources.ApplyResources(this.layoutControlItem22, "layoutControlItem22");
+            this.layoutControlItem22.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem22.Name = "layoutControlItem22";
+            this.layoutControlItem22.Size = new System.Drawing.Size(316, 24);
+            this.layoutControlItem22.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem50
+            // 
+            this.layoutControlItem50.Control = this.checkEditAccessAfterUnset1;
+            resources.ApplyResources(this.layoutControlItem50, "layoutControlItem50");
+            this.layoutControlItem50.Location = new System.Drawing.Point(0, 24);
+            this.layoutControlItem50.Name = "layoutControlItem50";
+            this.layoutControlItem50.Size = new System.Drawing.Size(316, 23);
+            this.layoutControlItem50.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // DoorSettingsACOutsideLayoutControlGroup
+            // 
+            resources.ApplyResources(this.DoorSettingsACOutsideLayoutControlGroup, "DoorSettingsACOutsideLayoutControlGroup");
+            this.DoorSettingsACOutsideLayoutControlGroup.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem5,
+            this.layoutControlItem6,
+            this.layoutControlItem7,
+            this.layoutControlItem8,
+            this.layoutControlItem9,
+            this.layoutControlItem1,
+            this.layoutControlItem10,
+            this.layoutControlItem34,
+            this.layoutControlItem11,
+            this.layoutControlItem60});
+            this.DoorSettingsACOutsideLayoutControlGroup.Location = new System.Drawing.Point(326, 0);
+            this.DoorSettingsACOutsideLayoutControlGroup.Name = "DoorSettingsACOutsideLayoutControlGroup";
+            this.DoorSettingsACOutsideLayoutControlGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
+            this.DoorSettingsACOutsideLayoutControlGroup.Size = new System.Drawing.Size(327, 567);
+            // 
+            // layoutControlItem5
+            // 
+            this.layoutControlItem5.Control = this.comboBoxModeAccessNoScheduleOutside;
+            resources.ApplyResources(this.layoutControlItem5, "layoutControlItem5");
+            this.layoutControlItem5.Location = new System.Drawing.Point(0, 71);
+            this.layoutControlItem5.Name = "layoutControlItem5";
+            this.layoutControlItem5.Size = new System.Drawing.Size(317, 24);
+            this.layoutControlItem5.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem6
+            // 
+            this.layoutControlItem6.Control = this.comboBoxModeSetOutside;
+            resources.ApplyResources(this.layoutControlItem6, "layoutControlItem6");
+            this.layoutControlItem6.Location = new System.Drawing.Point(0, 95);
+            this.layoutControlItem6.Name = "layoutControlItem6";
+            this.layoutControlItem6.Size = new System.Drawing.Size(317, 24);
+            this.layoutControlItem6.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem7
+            // 
+            this.layoutControlItem7.Control = this.comboBoxModePartSetOutside;
+            resources.ApplyResources(this.layoutControlItem7, "layoutControlItem7");
+            this.layoutControlItem7.Location = new System.Drawing.Point(0, 119);
+            this.layoutControlItem7.Name = "layoutControlItem7";
+            this.layoutControlItem7.Size = new System.Drawing.Size(317, 24);
+            this.layoutControlItem7.TextSize = new System.Drawing.Size(131, 13);
+            this.layoutControlItem7.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.OnlyInCustomization;
+            // 
+            // layoutControlItem8
+            // 
+            this.layoutControlItem8.Control = this.comboBoxModeUnsetOutside;
+            resources.ApplyResources(this.layoutControlItem8, "layoutControlItem8");
+            this.layoutControlItem8.Location = new System.Drawing.Point(0, 143);
+            this.layoutControlItem8.Name = "layoutControlItem8";
+            this.layoutControlItem8.Size = new System.Drawing.Size(317, 24);
+            this.layoutControlItem8.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem9
+            // 
+            this.layoutControlItem9.Control = this.comboBoxModeMacroOutside;
+            resources.ApplyResources(this.layoutControlItem9, "layoutControlItem9");
+            this.layoutControlItem9.Location = new System.Drawing.Point(0, 191);
+            this.layoutControlItem9.Name = "layoutControlItem9";
+            this.layoutControlItem9.Size = new System.Drawing.Size(317, 24);
+            this.layoutControlItem9.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.comboBoxModeAccessOutside;
+            resources.ApplyResources(this.layoutControlItem1, "layoutControlItem1");
+            this.layoutControlItem1.Location = new System.Drawing.Point(0, 47);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Size = new System.Drawing.Size(317, 24);
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem10
+            // 
+            this.layoutControlItem10.Control = this.comboBoxModeQuickMacroOutside;
+            resources.ApplyResources(this.layoutControlItem10, "layoutControlItem10");
+            this.layoutControlItem10.Location = new System.Drawing.Point(0, 167);
+            this.layoutControlItem10.Name = "layoutControlItem10";
+            this.layoutControlItem10.Size = new System.Drawing.Size(317, 24);
+            this.layoutControlItem10.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem34
+            // 
+            this.layoutControlItem34.Control = this.textEditCodeData2;
+            resources.ApplyResources(this.layoutControlItem34, "layoutControlItem34");
+            this.layoutControlItem34.Location = new System.Drawing.Point(0, 215);
+            this.layoutControlItem34.Name = "layoutControlItem34";
+            this.layoutControlItem34.Size = new System.Drawing.Size(317, 323);
+            this.layoutControlItem34.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem11
+            // 
+            this.layoutControlItem11.Control = this.AP2DoorReleaseTimeIntSecTimeEdit;
+            resources.ApplyResources(this.layoutControlItem11, "layoutControlItem11");
+            this.layoutControlItem11.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem11.Name = "layoutControlItem11";
+            this.layoutControlItem11.Size = new System.Drawing.Size(317, 24);
+            this.layoutControlItem11.TextSize = new System.Drawing.Size(131, 13);
+            // 
+            // layoutControlItem60
+            // 
+            this.layoutControlItem60.Control = this.checkEditAccessAfterUnset2;
+            resources.ApplyResources(this.layoutControlItem60, "layoutControlItem60");
+            this.layoutControlItem60.Location = new System.Drawing.Point(0, 24);
+            this.layoutControlItem60.Name = "layoutControlItem60";
+            this.layoutControlItem60.Size = new System.Drawing.Size(317, 23);
+            this.layoutControlItem60.TextSize = new System.Drawing.Size(131, 13);
+            // 
             // PartitionBindingSource
             // 
             this.PartitionBindingSource.DataMember = "Partition";
@@ -2237,6 +2278,7 @@
             ((System.ComponentModel.ISupportInitialize)(this.APPrimaryBindingSource)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
             this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.spinEditDatapointNumber.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.checkEditAccessAfterUnset2.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.APSecondaryBindingSource)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.checkEditAccessAfterUnset1.Properties)).EndInit();
@@ -2311,29 +2353,6 @@
             ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditEventDocTypeOutside.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroupSettings)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.DoorSettingsACInsideLayoutControlGroup)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem33)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem50)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.DoorSettingsACOutsideLayoutControlGroup)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem34)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem60)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroupGeneral)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem23)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem24)).EndInit();
@@ -2373,6 +2392,7 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem32)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem31)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem45)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemDatapointNumber)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroupFaultTries)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem25)).EndInit();
@@ -2386,6 +2406,29 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroupSettings)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.DoorSettingsACInsideLayoutControlGroup)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem33)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem50)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.DoorSettingsACOutsideLayoutControlGroup)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem34)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem60)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.PartitionBindingSource)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit();
@@ -2560,5 +2603,7 @@
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem50;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem60;
         private DevExpress.XtraGrid.Columns.GridColumn colexpHWDeviceName;
+        private DevExpress.XtraEditors.SpinEdit spinEditDatapointNumber;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItemDatapointNumber;
     }
 }
Index: ConfigApp/Views/SystemData/Partitions/DoorListView.resx
===================================================================
--- ConfigApp/Views/SystemData/Partitions/DoorListView.resx	(revision 3451)
+++ ConfigApp/Views/SystemData/Partitions/DoorListView.resx	(working copy)
@@ -198,8 +198,39 @@
   <data name="&gt;&gt;SplitContainer.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
+  <data name="spinEditDatapointNumber.EditValue" type="System.Decimal, mscorlib">
+    <value>6631</value>
+  </data>
+  <data name="spinEditDatapointNumber.Location" type="System.Drawing.Point, System.Drawing">
+    <value>148, 202</value>
+  </data>
+  <assembly alias="DevExpress.Utils.v13.1" name="DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
+  <data name="spinEditDatapointNumber.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
+    <value>Combo</value>
+  </data>
+  <data name="spinEditDatapointNumber.Properties.Mask.EditMask" xml:space="preserve">
+    <value>d</value>
+  </data>
+  <data name="spinEditDatapointNumber.Size" type="System.Drawing.Size, System.Drawing">
+    <value>515, 20</value>
+  </data>
+  <data name="spinEditDatapointNumber.TabIndex" type="System.Int32, mscorlib">
+    <value>101</value>
+  </data>
+  <data name="&gt;&gt;spinEditDatapointNumber.Name" xml:space="preserve">
+    <value>spinEditDatapointNumber</value>
+  </data>
+  <data name="&gt;&gt;spinEditDatapointNumber.Type" xml:space="preserve">
+    <value>DevExpress.XtraEditors.SpinEdit, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;spinEditDatapointNumber.Parent" xml:space="preserve">
+    <value>layoutControl1</value>
+  </data>
+  <data name="&gt;&gt;spinEditDatapointNumber.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
   <metadata name="APSecondaryBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>204, 56</value>
+    <value>17, 56</value>
   </metadata>
   <metadata name="internalDataStore.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
@@ -226,10 +257,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEditAccessAfterUnset2.ZOrder" xml:space="preserve">
-    <value>4</value>
+    <value>5</value>
   </data>
   <metadata name="APPrimaryBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 56</value>
+    <value>968, 17</value>
   </metadata>
   <data name="checkEditAccessAfterUnset1.Location" type="System.Drawing.Point, System.Drawing">
     <value>153, 84</value>
@@ -253,10 +284,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEditAccessAfterUnset1.ZOrder" xml:space="preserve">
-    <value>5</value>
+    <value>6</value>
   </data>
   <metadata name="VirtualDoorBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>588, 95</value>
+    <value>17, 95</value>
   </metadata>
   <data name="checkEdit3.Location" type="System.Drawing.Point, System.Drawing">
     <value>474, 107</value>
@@ -280,7 +311,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEdit3.ZOrder" xml:space="preserve">
-    <value>6</value>
+    <value>7</value>
   </data>
   <data name="AP2DoorReleaseTimeIntSecTimeEdit.EditValue" type="System.TimeSpan, mscorlib">
     <value>00:00:00</value>
@@ -313,7 +344,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;AP2DoorReleaseTimeIntSecTimeEdit.ZOrder" xml:space="preserve">
-    <value>7</value>
+    <value>8</value>
   </data>
   <data name="AP1DoorReleaseTimeIntSecTimeEdit.EditValue" type="System.TimeSpan, mscorlib">
     <value>00:00:00</value>
@@ -346,10 +377,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;AP1DoorReleaseTimeIntSecTimeEdit.ZOrder" xml:space="preserve">
-    <value>8</value>
+    <value>9</value>
   </data>
   <metadata name="APFaultSecondaryBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>619, 56</value>
+    <value>432, 56</value>
   </metadata>
   <data name="AP2BlockingTimeIntSecTimeEdit.EditValue" type="System.TimeSpan, mscorlib">
     <value>00:00:00</value>
@@ -382,10 +413,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;AP2BlockingTimeIntSecTimeEdit.ZOrder" xml:space="preserve">
-    <value>9</value>
+    <value>10</value>
   </data>
   <metadata name="APFaultPrimaryBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>406, 56</value>
+    <value>219, 56</value>
   </metadata>
   <data name="AP1BlockingTimeIntSecTimeEdit.EditValue" type="System.TimeSpan, mscorlib">
     <value>00:00:00</value>
@@ -418,7 +449,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;AP1BlockingTimeIntSecTimeEdit.ZOrder" xml:space="preserve">
-    <value>10</value>
+    <value>11</value>
   </data>
   <data name="DoorOpenSignalIntSecTimeEdit.EditValue" type="System.TimeSpan, mscorlib">
     <value>00:00:00</value>
@@ -451,7 +482,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;DoorOpenSignalIntSecTimeEdit.ZOrder" xml:space="preserve">
-    <value>11</value>
+    <value>12</value>
   </data>
   <data name="DoorOpenTimeIntSecTimeEdit.EditValue" type="System.TimeSpan, mscorlib">
     <value>00:00:00</value>
@@ -484,7 +515,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;DoorOpenTimeIntSecTimeEdit.ZOrder" xml:space="preserve">
-    <value>12</value>
+    <value>13</value>
   </data>
   <data name="textEditCodeData2.Location" type="System.Drawing.Point, System.Drawing">
     <value>479, 275</value>
@@ -515,7 +546,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;textEditCodeData2.ZOrder" xml:space="preserve">
-    <value>13</value>
+    <value>14</value>
   </data>
   <data name="textEditCodeData1.Location" type="System.Drawing.Point, System.Drawing">
     <value>153, 275</value>
@@ -545,16 +576,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;textEditCodeData1.ZOrder" xml:space="preserve">
-    <value>14</value>
+    <value>15</value>
   </data>
   <metadata name="PMSecondaryBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>207, 95</value>
+    <value>851, 56</value>
   </metadata>
   <data name="checkEditAlertingType2.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
   </data>
   <data name="checkEditAlertingType2.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 401</value>
+    <value>486, 425</value>
   </data>
   <data name="checkEditAlertingType2.Properties.Caption" xml:space="preserve">
     <value />
@@ -575,16 +606,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEditAlertingType2.ZOrder" xml:space="preserve">
-    <value>15</value>
+    <value>16</value>
   </data>
   <metadata name="PMPrimaryBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 95</value>
+    <value>661, 56</value>
   </metadata>
   <data name="checkEditAlertingType.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
   </data>
   <data name="checkEditAlertingType.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 401</value>
+    <value>160, 425</value>
   </data>
   <data name="checkEditAlertingType.Properties.Caption" xml:space="preserve">
     <value />
@@ -605,7 +636,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEditAlertingType.ZOrder" xml:space="preserve">
-    <value>16</value>
+    <value>17</value>
   </data>
   <data name="imageComboBoxEdit5.EditValue" xml:space="preserve">
     <value>otNone</value>
@@ -614,9 +645,8 @@
     <value>False</value>
   </data>
   <data name="imageComboBoxEdit5.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 281</value>
+    <value>486, 305</value>
   </data>
-  <assembly alias="DevExpress.Utils.v13.1" name="DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
   <data name="imageComboBoxEdit5.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
   </data>
@@ -672,7 +702,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;imageComboBoxEdit5.ZOrder" xml:space="preserve">
-    <value>17</value>
+    <value>18</value>
   </data>
   <data name="comboBoxOmitType.EditValue" xml:space="preserve">
     <value>otNone</value>
@@ -681,7 +711,7 @@
     <value>False</value>
   </data>
   <data name="comboBoxOmitType.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 281</value>
+    <value>160, 305</value>
   </data>
   <data name="comboBoxOmitType.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -738,10 +768,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxOmitType.ZOrder" xml:space="preserve">
-    <value>18</value>
+    <value>19</value>
   </data>
   <data name="buttonEditPartitionOutside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 257</value>
+    <value>486, 281</value>
   </data>
   <data name="buttonEditPartitionOutside.Size" type="System.Drawing.Size, System.Drawing">
     <value>165, 20</value>
@@ -759,10 +789,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;buttonEditPartitionOutside.ZOrder" xml:space="preserve">
-    <value>19</value>
+    <value>20</value>
   </data>
   <data name="buttonEditPartitionInside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 257</value>
+    <value>160, 281</value>
   </data>
   <data name="buttonEditPartitionInside.Size" type="System.Drawing.Size, System.Drawing">
     <value>164, 20</value>
@@ -780,7 +810,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;buttonEditPartitionInside.ZOrder" xml:space="preserve">
-    <value>20</value>
+    <value>21</value>
   </data>
   <data name="BoltReadySetTypeOutsideImageComboBoxEdit.EditValue" xml:space="preserve">
     <value>rstNone</value>
@@ -789,7 +819,7 @@
     <value>False</value>
   </data>
   <data name="BoltReadySetTypeOutsideImageComboBoxEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 329</value>
+    <value>486, 353</value>
   </data>
   <data name="BoltReadySetTypeOutsideImageComboBoxEdit.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -855,7 +885,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;BoltReadySetTypeOutsideImageComboBoxEdit.ZOrder" xml:space="preserve">
-    <value>21</value>
+    <value>22</value>
   </data>
   <data name="BoltReadySetTypeInsideImageComboBoxEdit.EditValue" xml:space="preserve">
     <value>rstNone</value>
@@ -864,7 +894,7 @@
     <value>False</value>
   </data>
   <data name="BoltReadySetTypeInsideImageComboBoxEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 329</value>
+    <value>160, 353</value>
   </data>
   <data name="BoltReadySetTypeInsideImageComboBoxEdit.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -930,7 +960,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;BoltReadySetTypeInsideImageComboBoxEdit.ZOrder" xml:space="preserve">
-    <value>22</value>
+    <value>23</value>
   </data>
   <data name="LockingErrorImgComboBoxControl.Location" type="System.Drawing.Point, System.Drawing">
     <value>474, 130</value>
@@ -981,7 +1011,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;LockingErrorImgComboBoxControl.ZOrder" xml:space="preserve">
-    <value>23</value>
+    <value>24</value>
   </data>
   <data name="imageComboBoxEdit4.EditValue" xml:space="preserve">
     <value>astNone</value>
@@ -990,7 +1020,7 @@
     <value>False</value>
   </data>
   <data name="imageComboBoxEdit4.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 472</value>
+    <value>486, 496</value>
   </data>
   <data name="imageComboBoxEdit4.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1065,13 +1095,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;imageComboBoxEdit4.ZOrder" xml:space="preserve">
-    <value>24</value>
+    <value>25</value>
   </data>
   <data name="imageComboBoxEdit3.EditValue" xml:space="preserve">
     <value>astNone</value>
   </data>
   <data name="imageComboBoxEdit3.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 353</value>
+    <value>486, 377</value>
   </data>
   <data name="imageComboBoxEdit3.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1128,7 +1158,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;imageComboBoxEdit3.ZOrder" xml:space="preserve">
-    <value>25</value>
+    <value>26</value>
   </data>
   <data name="imageComboBoxEdit2.EditValue" xml:space="preserve">
     <value>astNone</value>
@@ -1137,7 +1167,7 @@
     <value>False</value>
   </data>
   <data name="imageComboBoxEdit2.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 472</value>
+    <value>160, 496</value>
   </data>
   <data name="imageComboBoxEdit2.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1212,13 +1242,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;imageComboBoxEdit2.ZOrder" xml:space="preserve">
-    <value>26</value>
+    <value>27</value>
   </data>
   <data name="imageComboBoxEdit1.EditValue" xml:space="preserve">
     <value>astNone</value>
   </data>
   <data name="imageComboBoxEdit1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 353</value>
+    <value>160, 377</value>
   </data>
   <data name="imageComboBoxEdit1.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1275,7 +1305,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;imageComboBoxEdit1.ZOrder" xml:space="preserve">
-    <value>27</value>
+    <value>28</value>
   </data>
   <data name="checkEdit2.Location" type="System.Drawing.Point, System.Drawing">
     <value>474, 84</value>
@@ -1284,7 +1314,7 @@
     <value />
   </data>
   <data name="checkEdit2.Size" type="System.Drawing.Size, System.Drawing">
-    <value>189, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="checkEdit2.TabIndex" type="System.Int32, mscorlib">
     <value>58</value>
@@ -1299,10 +1329,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEdit2.ZOrder" xml:space="preserve">
-    <value>28</value>
+    <value>29</value>
   </data>
   <data name="AccesspointInsideTextEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 233</value>
+    <value>160, 257</value>
   </data>
   <data name="AccesspointInsideTextEdit.Size" type="System.Drawing.Size, System.Drawing">
     <value>164, 20</value>
@@ -1320,10 +1350,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;AccesspointInsideTextEdit.ZOrder" xml:space="preserve">
-    <value>29</value>
+    <value>30</value>
   </data>
   <data name="AccesspointOutsideTextEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 233</value>
+    <value>486, 257</value>
   </data>
   <data name="AccesspointOutsideTextEdit.Size" type="System.Drawing.Size, System.Drawing">
     <value>165, 20</value>
@@ -1341,7 +1371,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;AccesspointOutsideTextEdit.ZOrder" xml:space="preserve">
-    <value>30</value>
+    <value>31</value>
   </data>
   <data name="spinEditAlarmRepeatCountOutside.EditValue" type="System.Decimal, mscorlib">
     <value>0</value>
@@ -1350,7 +1380,7 @@
     <value>False</value>
   </data>
   <data name="spinEditAlarmRepeatCountOutside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 520</value>
+    <value>486, 544</value>
   </data>
   <data name="spinEditAlarmRepeatCountOutside.Size" type="System.Drawing.Size, System.Drawing">
     <value>165, 20</value>
@@ -1368,7 +1398,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;spinEditAlarmRepeatCountOutside.ZOrder" xml:space="preserve">
-    <value>31</value>
+    <value>32</value>
   </data>
   <data name="spinEditAlarmRepeatCount.EditValue" type="System.Decimal, mscorlib">
     <value>0</value>
@@ -1377,7 +1407,7 @@
     <value>False</value>
   </data>
   <data name="spinEditAlarmRepeatCount.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 520</value>
+    <value>160, 544</value>
   </data>
   <data name="spinEditAlarmRepeatCount.Size" type="System.Drawing.Size, System.Drawing">
     <value>164, 20</value>
@@ -1395,13 +1425,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;spinEditAlarmRepeatCount.ZOrder" xml:space="preserve">
-    <value>32</value>
+    <value>33</value>
   </data>
   <data name="comboBoxFaultDeleteTypeOutside.EditValue" xml:space="preserve">
     <value>mdtNormal</value>
   </data>
   <data name="comboBoxFaultDeleteTypeOutside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 496</value>
+    <value>486, 520</value>
   </data>
   <data name="comboBoxFaultDeleteTypeOutside.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1449,13 +1479,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxFaultDeleteTypeOutside.ZOrder" xml:space="preserve">
-    <value>33</value>
+    <value>34</value>
   </data>
   <data name="comboBoxFaultDeleteType.EditValue" xml:space="preserve">
     <value>mdtNormal</value>
   </data>
   <data name="comboBoxFaultDeleteType.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 496</value>
+    <value>160, 520</value>
   </data>
   <data name="comboBoxFaultDeleteType.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1503,7 +1533,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxFaultDeleteType.ZOrder" xml:space="preserve">
-    <value>34</value>
+    <value>35</value>
   </data>
   <data name="comboBoxFaultSetTypeOutside.EditValue" xml:space="preserve">
     <value>rstNone</value>
@@ -1512,7 +1542,7 @@
     <value>False</value>
   </data>
   <data name="comboBoxFaultSetTypeOutside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 448</value>
+    <value>486, 472</value>
   </data>
   <data name="comboBoxFaultSetTypeOutside.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1578,7 +1608,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxFaultSetTypeOutside.ZOrder" xml:space="preserve">
-    <value>35</value>
+    <value>36</value>
   </data>
   <data name="comboBoxFaultSetType.EditValue" xml:space="preserve">
     <value>rstNone</value>
@@ -1587,7 +1617,7 @@
     <value>False</value>
   </data>
   <data name="comboBoxFaultSetType.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 448</value>
+    <value>160, 472</value>
   </data>
   <data name="comboBoxFaultSetType.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1653,7 +1683,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxFaultSetType.ZOrder" xml:space="preserve">
-    <value>36</value>
+    <value>37</value>
   </data>
   <data name="comboBoxAlarmDeleteTypeOutside.EditValue" xml:space="preserve">
     <value>mdtNormal</value>
@@ -1662,7 +1692,7 @@
     <value>False</value>
   </data>
   <data name="comboBoxAlarmDeleteTypeOutside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 424</value>
+    <value>486, 448</value>
   </data>
   <data name="comboBoxAlarmDeleteTypeOutside.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1710,7 +1740,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxAlarmDeleteTypeOutside.ZOrder" xml:space="preserve">
-    <value>37</value>
+    <value>38</value>
   </data>
   <data name="comboBoxAlarmDeleteType.EditValue" xml:space="preserve">
     <value>mdtNormal</value>
@@ -1719,7 +1749,7 @@
     <value>False</value>
   </data>
   <data name="comboBoxAlarmDeleteType.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 424</value>
+    <value>160, 448</value>
   </data>
   <data name="comboBoxAlarmDeleteType.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1767,7 +1797,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxAlarmDeleteType.ZOrder" xml:space="preserve">
-    <value>38</value>
+    <value>39</value>
   </data>
   <data name="comboBoxAlertingTypeOutside.EditValue" xml:space="preserve">
     <value>atNone</value>
@@ -1776,7 +1806,7 @@
     <value>False</value>
   </data>
   <data name="comboBoxAlertingTypeOutside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 377</value>
+    <value>486, 401</value>
   </data>
   <data name="comboBoxAlertingTypeOutside.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1860,7 +1890,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxAlertingTypeOutside.ZOrder" xml:space="preserve">
-    <value>39</value>
+    <value>40</value>
   </data>
   <data name="comboBoxAlertingType.EditValue" xml:space="preserve">
     <value>atNone</value>
@@ -1869,7 +1899,7 @@
     <value>False</value>
   </data>
   <data name="comboBoxAlertingType.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 377</value>
+    <value>160, 401</value>
   </data>
   <data name="comboBoxAlertingType.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -1953,13 +1983,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxAlertingType.ZOrder" xml:space="preserve">
-    <value>40</value>
+    <value>41</value>
   </data>
   <data name="comboBoxSetTypeOutside.EditValue" xml:space="preserve">
     <value>rstNone</value>
   </data>
   <data name="comboBoxSetTypeOutside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 305</value>
+    <value>486, 329</value>
   </data>
   <data name="comboBoxSetTypeOutside.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -2025,13 +2055,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxSetTypeOutside.ZOrder" xml:space="preserve">
-    <value>41</value>
+    <value>42</value>
   </data>
   <data name="comboBoxSetType.EditValue" xml:space="preserve">
     <value>rstNone</value>
   </data>
   <data name="comboBoxSetType.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 305</value>
+    <value>160, 329</value>
   </data>
   <data name="comboBoxSetType.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -2097,7 +2127,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxSetType.ZOrder" xml:space="preserve">
-    <value>42</value>
+    <value>43</value>
   </data>
   <data name="checkEdit1.Location" type="System.Drawing.Point, System.Drawing">
     <value>148, 84</value>
@@ -2106,7 +2136,7 @@
     <value />
   </data>
   <data name="checkEdit1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>188, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="checkEdit1.TabIndex" type="System.Int32, mscorlib">
     <value>3</value>
@@ -2121,7 +2151,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEdit1.ZOrder" xml:space="preserve">
-    <value>43</value>
+    <value>44</value>
   </data>
   <data name="buttonEditHWDevice.Location" type="System.Drawing.Point, System.Drawing">
     <value>148, 60</value>
@@ -2142,7 +2172,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;buttonEditHWDevice.ZOrder" xml:space="preserve">
-    <value>44</value>
+    <value>45</value>
   </data>
   <metadata name="VirtualDeviceBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>766, 17</value>
@@ -2166,7 +2196,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;textEdit1.ZOrder" xml:space="preserve">
-    <value>45</value>
+    <value>46</value>
   </data>
   <data name="comboBoxDeactivateMacrosOutside.EditValue" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2211,7 +2241,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxDeactivateMacrosOutside.ZOrder" xml:space="preserve">
-    <value>46</value>
+    <value>47</value>
   </data>
   <data name="comboBoxDeactivateAccessOutside.EditValue" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2256,7 +2286,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxDeactivateAccessOutside.ZOrder" xml:space="preserve">
-    <value>47</value>
+    <value>48</value>
   </data>
   <data name="comboBoxAlarmOutside.EditValue" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2301,7 +2331,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxAlarmOutside.ZOrder" xml:space="preserve">
-    <value>48</value>
+    <value>49</value>
   </data>
   <data name="spinEditLimitOutside.EditValue" type="System.Decimal, mscorlib">
     <value>0</value>
@@ -2328,7 +2358,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;spinEditLimitOutside.ZOrder" xml:space="preserve">
-    <value>49</value>
+    <value>50</value>
   </data>
   <data name="comboBoxModeAccessOutside.Location" type="System.Drawing.Point, System.Drawing">
     <value>479, 107</value>
@@ -2361,7 +2391,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeAccessOutside.ZOrder" xml:space="preserve">
-    <value>50</value>
+    <value>51</value>
   </data>
   <data name="comboBoxModeQuickMacroOutside.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2397,7 +2427,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeQuickMacroOutside.ZOrder" xml:space="preserve">
-    <value>51</value>
+    <value>52</value>
   </data>
   <data name="comboBoxModeMacroOutside.Location" type="System.Drawing.Point, System.Drawing">
     <value>479, 251</value>
@@ -2430,7 +2460,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeMacroOutside.ZOrder" xml:space="preserve">
-    <value>52</value>
+    <value>53</value>
   </data>
   <data name="comboBoxModeUnsetOutside.Location" type="System.Drawing.Point, System.Drawing">
     <value>479, 203</value>
@@ -2463,7 +2493,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeUnsetOutside.ZOrder" xml:space="preserve">
-    <value>53</value>
+    <value>54</value>
   </data>
   <data name="comboBoxModePartSetOutside.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2499,7 +2529,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModePartSetOutside.ZOrder" xml:space="preserve">
-    <value>54</value>
+    <value>55</value>
   </data>
   <data name="comboBoxModeSetOutside.Location" type="System.Drawing.Point, System.Drawing">
     <value>479, 155</value>
@@ -2532,7 +2562,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeSetOutside.ZOrder" xml:space="preserve">
-    <value>55</value>
+    <value>56</value>
   </data>
   <data name="comboBoxModeAccessNoScheduleOutside.Location" type="System.Drawing.Point, System.Drawing">
     <value>479, 131</value>
@@ -2565,7 +2595,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeAccessNoScheduleOutside.ZOrder" xml:space="preserve">
-    <value>56</value>
+    <value>57</value>
   </data>
   <data name="comboBoxDeactivateMacros.EditValue" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2610,7 +2640,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxDeactivateMacros.ZOrder" xml:space="preserve">
-    <value>57</value>
+    <value>58</value>
   </data>
   <data name="comboBoxDeactivateAccess.EditValue" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2655,7 +2685,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxDeactivateAccess.ZOrder" xml:space="preserve">
-    <value>58</value>
+    <value>59</value>
   </data>
   <data name="comboBoxAlarm.EditValue" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2700,7 +2730,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxAlarm.ZOrder" xml:space="preserve">
-    <value>59</value>
+    <value>60</value>
   </data>
   <data name="spinEditLimit.EditValue" type="System.Decimal, mscorlib">
     <value>0</value>
@@ -2727,7 +2757,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;spinEditLimit.ZOrder" xml:space="preserve">
-    <value>60</value>
+    <value>61</value>
   </data>
   <data name="comboBoxModeMacro.Location" type="System.Drawing.Point, System.Drawing">
     <value>153, 251</value>
@@ -2760,7 +2790,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeMacro.ZOrder" xml:space="preserve">
-    <value>61</value>
+    <value>62</value>
   </data>
   <data name="comboBoxModeQuickMacro.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2796,7 +2826,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeQuickMacro.ZOrder" xml:space="preserve">
-    <value>62</value>
+    <value>63</value>
   </data>
   <data name="comboBoxModeUnset.Location" type="System.Drawing.Point, System.Drawing">
     <value>153, 203</value>
@@ -2829,7 +2859,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeUnset.ZOrder" xml:space="preserve">
-    <value>63</value>
+    <value>64</value>
   </data>
   <data name="comboBoxModePartSet.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
@@ -2865,7 +2895,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModePartSet.ZOrder" xml:space="preserve">
-    <value>64</value>
+    <value>65</value>
   </data>
   <data name="comboBoxModeSet.Location" type="System.Drawing.Point, System.Drawing">
     <value>153, 155</value>
@@ -2898,7 +2928,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeSet.ZOrder" xml:space="preserve">
-    <value>65</value>
+    <value>66</value>
   </data>
   <data name="comboBoxModeAccessNoSchedule.Location" type="System.Drawing.Point, System.Drawing">
     <value>153, 131</value>
@@ -2931,7 +2961,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeAccessNoSchedule.ZOrder" xml:space="preserve">
-    <value>66</value>
+    <value>67</value>
   </data>
   <data name="comboBoxModeAccess.EditValue" xml:space="preserve">
     <value>omInvalid</value>
@@ -3075,13 +3105,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxModeAccess.ZOrder" xml:space="preserve">
-    <value>67</value>
+    <value>68</value>
   </data>
   <data name="comboBoxEditEventDocType.EditValue" xml:space="preserve">
     <value>edtNone</value>
   </data>
   <data name="comboBoxEditEventDocType.Location" type="System.Drawing.Point, System.Drawing">
-    <value>160, 544</value>
+    <value>160, 568</value>
   </data>
   <data name="comboBoxEditEventDocType.Properties.Caption" xml:space="preserve">
     <value />
@@ -3102,13 +3132,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxEditEventDocType.ZOrder" xml:space="preserve">
-    <value>68</value>
+    <value>69</value>
   </data>
   <data name="comboBoxEditEventDocTypeOutside.EditValue" xml:space="preserve">
     <value>edtNone</value>
   </data>
   <data name="comboBoxEditEventDocTypeOutside.Location" type="System.Drawing.Point, System.Drawing">
-    <value>486, 544</value>
+    <value>486, 568</value>
   </data>
   <data name="comboBoxEditEventDocTypeOutside.Properties.Caption" xml:space="preserve">
     <value />
@@ -3129,7 +3159,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxEditEventDocTypeOutside.ZOrder" xml:space="preserve">
-    <value>69</value>
+    <value>70</value>
   </data>
   <data name="layoutControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Fill</value>
@@ -3143,144 +3173,6 @@
   <data name="tabbedControlGroup1.CustomizationFormText" xml:space="preserve">
     <value>tabbedControlGroup1</value>
   </data>
-  <data name="layoutControlGroupSettings.CustomizationFormText" xml:space="preserve">
-    <value>AccessPoint</value>
-  </data>
-  <data name="DoorSettingsACInsideLayoutControlGroup.CustomizationFormText" xml:space="preserve">
-    <value>layoutControlGroup2</value>
-  </data>
-  <data name="layoutControlItem13.CustomizationFormText" xml:space="preserve">
-    <value>ModeAccess</value>
-  </data>
-  <data name="layoutControlItem13.Text" xml:space="preserve">
-    <value>ModeAccess</value>
-  </data>
-  <data name="layoutControlItem14.CustomizationFormText" xml:space="preserve">
-    <value>ModeAccessNoSchedule</value>
-  </data>
-  <data name="layoutControlItem14.Text" xml:space="preserve">
-    <value>ModeAccessNoSchedule</value>
-  </data>
-  <data name="layoutControlItem15.CustomizationFormText" xml:space="preserve">
-    <value>ModeSet</value>
-  </data>
-  <data name="layoutControlItem15.Text" xml:space="preserve">
-    <value>ModeSet</value>
-  </data>
-  <data name="layoutControlItem16.CustomizationFormText" xml:space="preserve">
-    <value>ModePartSet</value>
-  </data>
-  <data name="layoutControlItem16.Text" xml:space="preserve">
-    <value>ModePartSet</value>
-  </data>
-  <data name="layoutControlItem17.CustomizationFormText" xml:space="preserve">
-    <value>ModeUnset</value>
-  </data>
-  <data name="layoutControlItem17.Text" xml:space="preserve">
-    <value>ModeUnset</value>
-  </data>
-  <data name="layoutControlItem19.CustomizationFormText" xml:space="preserve">
-    <value>ModeMacro</value>
-  </data>
-  <data name="layoutControlItem19.Text" xml:space="preserve">
-    <value>ModeMacro</value>
-  </data>
-  <data name="layoutControlItem18.CustomizationFormText" xml:space="preserve">
-    <value>ModeQuickMacro</value>
-  </data>
-  <data name="layoutControlItem18.Text" xml:space="preserve">
-    <value>ModeQuickMacro</value>
-  </data>
-  <data name="layoutControlItem33.CustomizationFormText" xml:space="preserve">
-    <value>Code Data</value>
-  </data>
-  <data name="layoutControlItem33.Text" xml:space="preserve">
-    <value>Code Data</value>
-  </data>
-  <data name="layoutControlItem22.CustomizationFormText" xml:space="preserve">
-    <value>Door Release Time [m:ss]</value>
-  </data>
-  <data name="layoutControlItem22.Text" xml:space="preserve">
-    <value>Door Release Time [m:ss]</value>
-  </data>
-  <data name="layoutControlItem50.CustomizationFormText" xml:space="preserve">
-    <value>Access After Unset</value>
-  </data>
-  <data name="layoutControlItem50.Text" xml:space="preserve">
-    <value>Access After Unset</value>
-  </data>
-  <data name="DoorSettingsACInsideLayoutControlGroup.Text" xml:space="preserve">
-    <value>AccessPoint 1</value>
-  </data>
-  <data name="DoorSettingsACOutsideLayoutControlGroup.CustomizationFormText" xml:space="preserve">
-    <value>layoutControlGroup3</value>
-  </data>
-  <data name="layoutControlItem5.CustomizationFormText" xml:space="preserve">
-    <value>layoutControlItem5</value>
-  </data>
-  <data name="layoutControlItem5.Text" xml:space="preserve">
-    <value>ModeAccessNoSchedule</value>
-  </data>
-  <data name="layoutControlItem6.CustomizationFormText" xml:space="preserve">
-    <value>layoutControlItem6</value>
-  </data>
-  <data name="layoutControlItem6.Text" xml:space="preserve">
-    <value>ModeSet</value>
-  </data>
-  <data name="layoutControlItem7.CustomizationFormText" xml:space="preserve">
-    <value>layoutControlItem7</value>
-  </data>
-  <data name="layoutControlItem7.Text" xml:space="preserve">
-    <value>ModePartSet</value>
-  </data>
-  <data name="layoutControlItem8.CustomizationFormText" xml:space="preserve">
-    <value>layoutControlItem8</value>
-  </data>
-  <data name="layoutControlItem8.Text" xml:space="preserve">
-    <value>ModeUnset</value>
-  </data>
-  <data name="layoutControlItem9.CustomizationFormText" xml:space="preserve">
-    <value>ModeMacro</value>
-  </data>
-  <data name="layoutControlItem9.Text" xml:space="preserve">
-    <value>ModeMacro</value>
-  </data>
-  <data name="layoutControlItem1.CustomizationFormText" xml:space="preserve">
-    <value>Mode Access</value>
-  </data>
-  <data name="layoutControlItem1.Text" xml:space="preserve">
-    <value>Mode Access</value>
-  </data>
-  <data name="layoutControlItem10.CustomizationFormText" xml:space="preserve">
-    <value>ModeQuickMacro</value>
-  </data>
-  <data name="layoutControlItem10.Text" xml:space="preserve">
-    <value>ModeQuickMacro</value>
-  </data>
-  <data name="layoutControlItem34.CustomizationFormText" xml:space="preserve">
-    <value>Code Data</value>
-  </data>
-  <data name="layoutControlItem34.Text" xml:space="preserve">
-    <value>Code Data</value>
-  </data>
-  <data name="layoutControlItem11.CustomizationFormText" xml:space="preserve">
-    <value>Door Release Time [m:ss]</value>
-  </data>
-  <data name="layoutControlItem11.Text" xml:space="preserve">
-    <value>Door Release Time [m:ss]</value>
-  </data>
-  <data name="layoutControlItem60.CustomizationFormText" xml:space="preserve">
-    <value>Access After Unset</value>
-  </data>
-  <data name="layoutControlItem60.Text" xml:space="preserve">
-    <value>Access After Unset</value>
-  </data>
-  <data name="DoorSettingsACOutsideLayoutControlGroup.Text" xml:space="preserve">
-    <value>AccessPoint 2</value>
-  </data>
-  <data name="layoutControlGroupSettings.Text" xml:space="preserve">
-    <value>Door Settings</value>
-  </data>
   <data name="layoutControlGroupGeneral.CustomizationFormText" xml:space="preserve">
     <value>General</value>
   </data>
@@ -3512,6 +3404,12 @@
   <data name="layoutControlItem45.Text" xml:space="preserve">
     <value>Tamper Sounder</value>
   </data>
+  <data name="layoutControlItemDatapointNumber.CustomizationFormText" xml:space="preserve">
+    <value>Datapoint Number</value>
+  </data>
+  <data name="layoutControlItemDatapointNumber.Text" xml:space="preserve">
+    <value>Datapoint Number</value>
+  </data>
   <data name="layoutControlGroupGeneral.Text" xml:space="preserve">
     <value>General</value>
   </data>
@@ -3593,6 +3491,144 @@
   <data name="layoutControlGroupFaultTries.Text" xml:space="preserve">
     <value>Misattempt</value>
   </data>
+  <data name="layoutControlGroupSettings.CustomizationFormText" xml:space="preserve">
+    <value>AccessPoint</value>
+  </data>
+  <data name="DoorSettingsACInsideLayoutControlGroup.CustomizationFormText" xml:space="preserve">
+    <value>layoutControlGroup2</value>
+  </data>
+  <data name="layoutControlItem13.CustomizationFormText" xml:space="preserve">
+    <value>ModeAccess</value>
+  </data>
+  <data name="layoutControlItem13.Text" xml:space="preserve">
+    <value>ModeAccess</value>
+  </data>
+  <data name="layoutControlItem14.CustomizationFormText" xml:space="preserve">
+    <value>ModeAccessNoSchedule</value>
+  </data>
+  <data name="layoutControlItem14.Text" xml:space="preserve">
+    <value>ModeAccessNoSchedule</value>
+  </data>
+  <data name="layoutControlItem15.CustomizationFormText" xml:space="preserve">
+    <value>ModeSet</value>
+  </data>
+  <data name="layoutControlItem15.Text" xml:space="preserve">
+    <value>ModeSet</value>
+  </data>
+  <data name="layoutControlItem16.CustomizationFormText" xml:space="preserve">
+    <value>ModePartSet</value>
+  </data>
+  <data name="layoutControlItem16.Text" xml:space="preserve">
+    <value>ModePartSet</value>
+  </data>
+  <data name="layoutControlItem17.CustomizationFormText" xml:space="preserve">
+    <value>ModeUnset</value>
+  </data>
+  <data name="layoutControlItem17.Text" xml:space="preserve">
+    <value>ModeUnset</value>
+  </data>
+  <data name="layoutControlItem19.CustomizationFormText" xml:space="preserve">
+    <value>ModeMacro</value>
+  </data>
+  <data name="layoutControlItem19.Text" xml:space="preserve">
+    <value>ModeMacro</value>
+  </data>
+  <data name="layoutControlItem18.CustomizationFormText" xml:space="preserve">
+    <value>ModeQuickMacro</value>
+  </data>
+  <data name="layoutControlItem18.Text" xml:space="preserve">
+    <value>ModeQuickMacro</value>
+  </data>
+  <data name="layoutControlItem33.CustomizationFormText" xml:space="preserve">
+    <value>Code Data</value>
+  </data>
+  <data name="layoutControlItem33.Text" xml:space="preserve">
+    <value>Code Data</value>
+  </data>
+  <data name="layoutControlItem22.CustomizationFormText" xml:space="preserve">
+    <value>Door Release Time [m:ss]</value>
+  </data>
+  <data name="layoutControlItem22.Text" xml:space="preserve">
+    <value>Door Release Time [m:ss]</value>
+  </data>
+  <data name="layoutControlItem50.CustomizationFormText" xml:space="preserve">
+    <value>Access After Unset</value>
+  </data>
+  <data name="layoutControlItem50.Text" xml:space="preserve">
+    <value>Access After Unset</value>
+  </data>
+  <data name="DoorSettingsACInsideLayoutControlGroup.Text" xml:space="preserve">
+    <value>AccessPoint 1</value>
+  </data>
+  <data name="DoorSettingsACOutsideLayoutControlGroup.CustomizationFormText" xml:space="preserve">
+    <value>layoutControlGroup3</value>
+  </data>
+  <data name="layoutControlItem5.CustomizationFormText" xml:space="preserve">
+    <value>layoutControlItem5</value>
+  </data>
+  <data name="layoutControlItem5.Text" xml:space="preserve">
+    <value>ModeAccessNoSchedule</value>
+  </data>
+  <data name="layoutControlItem6.CustomizationFormText" xml:space="preserve">
+    <value>layoutControlItem6</value>
+  </data>
+  <data name="layoutControlItem6.Text" xml:space="preserve">
+    <value>ModeSet</value>
+  </data>
+  <data name="layoutControlItem7.CustomizationFormText" xml:space="preserve">
+    <value>layoutControlItem7</value>
+  </data>
+  <data name="layoutControlItem7.Text" xml:space="preserve">
+    <value>ModePartSet</value>
+  </data>
+  <data name="layoutControlItem8.CustomizationFormText" xml:space="preserve">
+    <value>layoutControlItem8</value>
+  </data>
+  <data name="layoutControlItem8.Text" xml:space="preserve">
+    <value>ModeUnset</value>
+  </data>
+  <data name="layoutControlItem9.CustomizationFormText" xml:space="preserve">
+    <value>ModeMacro</value>
+  </data>
+  <data name="layoutControlItem9.Text" xml:space="preserve">
+    <value>ModeMacro</value>
+  </data>
+  <data name="layoutControlItem1.CustomizationFormText" xml:space="preserve">
+    <value>Mode Access</value>
+  </data>
+  <data name="layoutControlItem1.Text" xml:space="preserve">
+    <value>Mode Access</value>
+  </data>
+  <data name="layoutControlItem10.CustomizationFormText" xml:space="preserve">
+    <value>ModeQuickMacro</value>
+  </data>
+  <data name="layoutControlItem10.Text" xml:space="preserve">
+    <value>ModeQuickMacro</value>
+  </data>
+  <data name="layoutControlItem34.CustomizationFormText" xml:space="preserve">
+    <value>Code Data</value>
+  </data>
+  <data name="layoutControlItem34.Text" xml:space="preserve">
+    <value>Code Data</value>
+  </data>
+  <data name="layoutControlItem11.CustomizationFormText" xml:space="preserve">
+    <value>Door Release Time [m:ss]</value>
+  </data>
+  <data name="layoutControlItem11.Text" xml:space="preserve">
+    <value>Door Release Time [m:ss]</value>
+  </data>
+  <data name="layoutControlItem60.CustomizationFormText" xml:space="preserve">
+    <value>Access After Unset</value>
+  </data>
+  <data name="layoutControlItem60.Text" xml:space="preserve">
+    <value>Access After Unset</value>
+  </data>
+  <data name="DoorSettingsACOutsideLayoutControlGroup.Text" xml:space="preserve">
+    <value>AccessPoint 2</value>
+  </data>
+  <data name="layoutControlGroupSettings.Text" xml:space="preserve">
+    <value>Door Settings</value>
+  </data>
   <data name="tabbedControlGroup1.Text" xml:space="preserve">
     <value>tabbedControlGroup1</value>
   </data>
@@ -3690,7 +3726,7 @@
     <value>622, 17</value>
   </metadata>
   <metadata name="PartitionBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>412, 95</value>
+    <value>1056, 56</value>
   </metadata>
   <data name="layoutControlItem12.CustomizationFormText" xml:space="preserve">
     <value>Deactivate Macros</value>
@@ -3842,144 +3878,6 @@
   <data name="&gt;&gt;tabbedControlGroup1.Type" xml:space="preserve">
     <value>DevExpress.XtraLayout.TabbedControlGroup, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
   </data>
-  <data name="&gt;&gt;layoutControlGroupSettings.Name" xml:space="preserve">
-    <value>layoutControlGroupSettings</value>
-  </data>
-  <data name="&gt;&gt;layoutControlGroupSettings.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;DoorSettingsACInsideLayoutControlGroup.Name" xml:space="preserve">
-    <value>DoorSettingsACInsideLayoutControlGroup</value>
-  </data>
-  <data name="&gt;&gt;DoorSettingsACInsideLayoutControlGroup.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem13.Name" xml:space="preserve">
-    <value>layoutControlItem13</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem13.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem14.Name" xml:space="preserve">
-    <value>layoutControlItem14</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem14.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem15.Name" xml:space="preserve">
-    <value>layoutControlItem15</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem15.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem16.Name" xml:space="preserve">
-    <value>layoutControlItem16</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem16.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem17.Name" xml:space="preserve">
-    <value>layoutControlItem17</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem17.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem19.Name" xml:space="preserve">
-    <value>layoutControlItem19</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem19.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem18.Name" xml:space="preserve">
-    <value>layoutControlItem18</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem18.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem33.Name" xml:space="preserve">
-    <value>layoutControlItem33</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem33.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem22.Name" xml:space="preserve">
-    <value>layoutControlItem22</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem22.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem50.Name" xml:space="preserve">
-    <value>layoutControlItem50</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem50.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;DoorSettingsACOutsideLayoutControlGroup.Name" xml:space="preserve">
-    <value>DoorSettingsACOutsideLayoutControlGroup</value>
-  </data>
-  <data name="&gt;&gt;DoorSettingsACOutsideLayoutControlGroup.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem5.Name" xml:space="preserve">
-    <value>layoutControlItem5</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem5.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem6.Name" xml:space="preserve">
-    <value>layoutControlItem6</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem6.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem7.Name" xml:space="preserve">
-    <value>layoutControlItem7</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem7.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem8.Name" xml:space="preserve">
-    <value>layoutControlItem8</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem8.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem9.Name" xml:space="preserve">
-    <value>layoutControlItem9</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem9.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem1.Name" xml:space="preserve">
-    <value>layoutControlItem1</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem1.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem10.Name" xml:space="preserve">
-    <value>layoutControlItem10</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem10.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem34.Name" xml:space="preserve">
-    <value>layoutControlItem34</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem34.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem11.Name" xml:space="preserve">
-    <value>layoutControlItem11</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem11.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem60.Name" xml:space="preserve">
-    <value>layoutControlItem60</value>
-  </data>
-  <data name="&gt;&gt;layoutControlItem60.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
   <data name="&gt;&gt;layoutControlGroupGeneral.Name" xml:space="preserve">
     <value>layoutControlGroupGeneral</value>
   </data>
@@ -4214,6 +4112,12 @@
   <data name="&gt;&gt;layoutControlItem45.Type" xml:space="preserve">
     <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
   </data>
+  <data name="&gt;&gt;layoutControlItemDatapointNumber.Name" xml:space="preserve">
+    <value>layoutControlItemDatapointNumber</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItemDatapointNumber.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
   <data name="&gt;&gt;layoutControlGroupFaultTries.Name" xml:space="preserve">
     <value>layoutControlGroupFaultTries</value>
   </data>
@@ -4292,6 +4196,144 @@
   <data name="&gt;&gt;layoutControlItem21.Type" xml:space="preserve">
     <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
   </data>
+  <data name="&gt;&gt;layoutControlGroupSettings.Name" xml:space="preserve">
+    <value>layoutControlGroupSettings</value>
+  </data>
+  <data name="&gt;&gt;layoutControlGroupSettings.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;DoorSettingsACInsideLayoutControlGroup.Name" xml:space="preserve">
+    <value>DoorSettingsACInsideLayoutControlGroup</value>
+  </data>
+  <data name="&gt;&gt;DoorSettingsACInsideLayoutControlGroup.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem13.Name" xml:space="preserve">
+    <value>layoutControlItem13</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem13.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem14.Name" xml:space="preserve">
+    <value>layoutControlItem14</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem14.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem15.Name" xml:space="preserve">
+    <value>layoutControlItem15</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem15.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem16.Name" xml:space="preserve">
+    <value>layoutControlItem16</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem16.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem17.Name" xml:space="preserve">
+    <value>layoutControlItem17</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem17.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem19.Name" xml:space="preserve">
+    <value>layoutControlItem19</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem19.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem18.Name" xml:space="preserve">
+    <value>layoutControlItem18</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem18.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem33.Name" xml:space="preserve">
+    <value>layoutControlItem33</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem33.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem22.Name" xml:space="preserve">
+    <value>layoutControlItem22</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem22.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem50.Name" xml:space="preserve">
+    <value>layoutControlItem50</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem50.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;DoorSettingsACOutsideLayoutControlGroup.Name" xml:space="preserve">
+    <value>DoorSettingsACOutsideLayoutControlGroup</value>
+  </data>
+  <data name="&gt;&gt;DoorSettingsACOutsideLayoutControlGroup.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem5.Name" xml:space="preserve">
+    <value>layoutControlItem5</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem5.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem6.Name" xml:space="preserve">
+    <value>layoutControlItem6</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem6.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem7.Name" xml:space="preserve">
+    <value>layoutControlItem7</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem7.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem8.Name" xml:space="preserve">
+    <value>layoutControlItem8</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem8.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem9.Name" xml:space="preserve">
+    <value>layoutControlItem9</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem9.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem1.Name" xml:space="preserve">
+    <value>layoutControlItem1</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem1.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem10.Name" xml:space="preserve">
+    <value>layoutControlItem10</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem10.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem34.Name" xml:space="preserve">
+    <value>layoutControlItem34</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem34.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem11.Name" xml:space="preserve">
+    <value>layoutControlItem11</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem11.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem60.Name" xml:space="preserve">
+    <value>layoutControlItem60</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem60.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
   <data name="&gt;&gt;PartitionBindingSource.Name" xml:space="preserve">
     <value>PartitionBindingSource</value>
   </data>

Zerion Mini Shell 1.0