//------------------------------------------------------------------------------
// <auto-generated>
//     Этот код создан программой.
//     Исполняемая версия:4.0.30319.42000
//
//     Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
//     повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Hcs.Service.Async.DeviceMetering {
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class Fault : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string errorCodeField;
        
        private string errorMessageField;
        
        private string stackTraceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string ErrorCode {
            get {
                return this.errorCodeField;
            }
            set {
                this.errorCodeField = value;
                this.RaisePropertyChanged("ErrorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string ErrorMessage {
            get {
                return this.errorMessageField;
            }
            set {
                this.errorMessageField = value;
                this.RaisePropertyChanged("ErrorMessage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string StackTrace {
            get {
                return this.stackTraceField;
            }
            set {
                this.stackTraceField = value;
                this.RaisePropertyChanged("StackTrace");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VolumeMeteringValueExportBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VolumeCurrentMeteringValueExportType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VolumeMeteringValueImportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/metering-device-base/")]
    public partial class VolumeMeteringValueBaseType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private nsiRef municipalResourceField;
        
        private string meteringValueT1Field;
        
        private string meteringValueT2Field;
        
        private string meteringValueT3Field;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public nsiRef MunicipalResource {
            get {
                return this.municipalResourceField;
            }
            set {
                this.municipalResourceField = value;
                this.RaisePropertyChanged("MunicipalResource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string MeteringValueT1 {
            get {
                return this.meteringValueT1Field;
            }
            set {
                this.meteringValueT1Field = value;
                this.RaisePropertyChanged("MeteringValueT1");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string MeteringValueT2 {
            get {
                return this.meteringValueT2Field;
            }
            set {
                this.meteringValueT2Field = value;
                this.RaisePropertyChanged("MeteringValueT2");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public string MeteringValueT3 {
            get {
                return this.meteringValueT3Field;
            }
            set {
                this.meteringValueT3Field = value;
                this.RaisePropertyChanged("MeteringValueT3");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/nsi-base/")]
    public partial class nsiRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string gUIDField;
        
        private string nameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string GUID {
            get {
                return this.gUIDField;
            }
            set {
                this.gUIDField = value;
                this.RaisePropertyChanged("GUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VolumeCurrentMeteringValueExportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class VolumeMeteringValueExportBaseType : VolumeMeteringValueBaseType {
        
        private string readingsSourceField;
        
        private string orgPPAGUIDField;
        
        private System.DateTime enterIntoSystemField;
        
        private string unitField;
        
        private VolumeMeteringValueExportBaseTypeMeteringValueInDefaultUnit meteringValueInDefaultUnitField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string ReadingsSource {
            get {
                return this.readingsSourceField;
            }
            set {
                this.readingsSourceField = value;
                this.RaisePropertyChanged("ReadingsSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string orgPPAGUID {
            get {
                return this.orgPPAGUIDField;
            }
            set {
                this.orgPPAGUIDField = value;
                this.RaisePropertyChanged("orgPPAGUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public System.DateTime EnterIntoSystem {
            get {
                return this.enterIntoSystemField;
            }
            set {
                this.enterIntoSystemField = value;
                this.RaisePropertyChanged("EnterIntoSystem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public string Unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
                this.RaisePropertyChanged("Unit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public VolumeMeteringValueExportBaseTypeMeteringValueInDefaultUnit MeteringValueInDefaultUnit {
            get {
                return this.meteringValueInDefaultUnitField;
            }
            set {
                this.meteringValueInDefaultUnitField = value;
                this.RaisePropertyChanged("MeteringValueInDefaultUnit");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class VolumeMeteringValueExportBaseTypeMeteringValueInDefaultUnit : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string meteringValueT1Field;
        
        private string meteringValueT2Field;
        
        private string meteringValueT3Field;
        
        private string defaultUnitField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string MeteringValueT1 {
            get {
                return this.meteringValueT1Field;
            }
            set {
                this.meteringValueT1Field = value;
                this.RaisePropertyChanged("MeteringValueT1");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string MeteringValueT2 {
            get {
                return this.meteringValueT2Field;
            }
            set {
                this.meteringValueT2Field = value;
                this.RaisePropertyChanged("MeteringValueT2");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string MeteringValueT3 {
            get {
                return this.meteringValueT3Field;
            }
            set {
                this.meteringValueT3Field = value;
                this.RaisePropertyChanged("MeteringValueT3");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public string DefaultUnit {
            get {
                return this.defaultUnitField;
            }
            set {
                this.defaultUnitField = value;
                this.RaisePropertyChanged("DefaultUnit");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class VolumeCurrentMeteringValueExportType : VolumeMeteringValueExportBaseType {
        
        private System.DateTime dateValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public System.DateTime DateValue {
            get {
                return this.dateValueField;
            }
            set {
                this.dateValueField = value;
                this.RaisePropertyChanged("DateValue");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class VolumeMeteringValueImportType : VolumeMeteringValueBaseType {
        
        private System.DateTime dateValueField;
        
        private string transportGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime DateValue {
            get {
                return this.dateValueField;
            }
            set {
                this.dateValueField = value;
                this.RaisePropertyChanged("DateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=1)]
        public string TransportGUID {
            get {
                return this.transportGUIDField;
            }
            set {
                this.transportGUIDField = value;
                this.RaisePropertyChanged("TransportGUID");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricMeteringValueExportType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricMeteringValueExportWithTSType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricMeteringValueExportType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricCurrentMeteringValueExportType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricMeteringValueImportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/metering-device-base/")]
    public partial class ElectricMeteringValueBaseType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string meteringValueT1Field;
        
        private string meteringValueT2Field;
        
        private string meteringValueT3Field;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string MeteringValueT1 {
            get {
                return this.meteringValueT1Field;
            }
            set {
                this.meteringValueT1Field = value;
                this.RaisePropertyChanged("MeteringValueT1");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string MeteringValueT2 {
            get {
                return this.meteringValueT2Field;
            }
            set {
                this.meteringValueT2Field = value;
                this.RaisePropertyChanged("MeteringValueT2");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string MeteringValueT3 {
            get {
                return this.meteringValueT3Field;
            }
            set {
                this.meteringValueT3Field = value;
                this.RaisePropertyChanged("MeteringValueT3");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricMeteringValueExportWithTSType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricMeteringValueExportType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricCurrentMeteringValueExportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/metering-device-base/")]
    public partial class ElectricMeteringValueExportType : ElectricMeteringValueBaseType {
        
        private string readingsSourceField;
        
        private string orgPPAGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string ReadingsSource {
            get {
                return this.readingsSourceField;
            }
            set {
                this.readingsSourceField = value;
                this.RaisePropertyChanged("ReadingsSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string orgPPAGUID {
            get {
                return this.orgPPAGUIDField;
            }
            set {
                this.orgPPAGUIDField = value;
                this.RaisePropertyChanged("orgPPAGUID");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricMeteringValueExportType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricCurrentMeteringValueExportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/metering-device-base/")]
    public partial class ElectricMeteringValueExportWithTSType : ElectricMeteringValueExportType {
        
        private System.DateTime enterIntoSystemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public System.DateTime EnterIntoSystem {
            get {
                return this.enterIntoSystemField;
            }
            set {
                this.enterIntoSystemField = value;
                this.RaisePropertyChanged("EnterIntoSystem");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ElectricCurrentMeteringValueExportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="ElectricMeteringValueExportType", Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class ElectricMeteringValueExportType1 : ElectricMeteringValueExportWithTSType {
        
        private string unitField;
        
        private ElectricMeteringValueExportTypeMeteringValueInDefaultUnit meteringValueInDefaultUnitField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
                this.RaisePropertyChanged("Unit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public ElectricMeteringValueExportTypeMeteringValueInDefaultUnit MeteringValueInDefaultUnit {
            get {
                return this.meteringValueInDefaultUnitField;
            }
            set {
                this.meteringValueInDefaultUnitField = value;
                this.RaisePropertyChanged("MeteringValueInDefaultUnit");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class ElectricMeteringValueExportTypeMeteringValueInDefaultUnit : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string meteringValueT1Field;
        
        private string meteringValueT2Field;
        
        private string meteringValueT3Field;
        
        private string defaultUnitField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string MeteringValueT1 {
            get {
                return this.meteringValueT1Field;
            }
            set {
                this.meteringValueT1Field = value;
                this.RaisePropertyChanged("MeteringValueT1");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string MeteringValueT2 {
            get {
                return this.meteringValueT2Field;
            }
            set {
                this.meteringValueT2Field = value;
                this.RaisePropertyChanged("MeteringValueT2");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string MeteringValueT3 {
            get {
                return this.meteringValueT3Field;
            }
            set {
                this.meteringValueT3Field = value;
                this.RaisePropertyChanged("MeteringValueT3");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public string DefaultUnit {
            get {
                return this.defaultUnitField;
            }
            set {
                this.defaultUnitField = value;
                this.RaisePropertyChanged("DefaultUnit");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class ElectricCurrentMeteringValueExportType : ElectricMeteringValueExportType1 {
        
        private System.DateTime dateValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public System.DateTime DateValue {
            get {
                return this.dateValueField;
            }
            set {
                this.dateValueField = value;
                this.RaisePropertyChanged("DateValue");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class ElectricMeteringValueImportType : ElectricMeteringValueBaseType {
        
        private System.DateTime dateValueField;
        
        private string transportGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime DateValue {
            get {
                return this.dateValueField;
            }
            set {
                this.dateValueField = value;
                this.RaisePropertyChanged("DateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=1)]
        public string TransportGUID {
            get {
                return this.transportGUIDField;
            }
            set {
                this.transportGUIDField = value;
                this.RaisePropertyChanged("TransportGUID");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class YearMonth : object, System.ComponentModel.INotifyPropertyChanged {
        
        private short yearField;
        
        private int monthField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public short Year {
            get {
                return this.yearField;
            }
            set {
                this.yearField = value;
                this.RaisePropertyChanged("Year");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public int Month {
            get {
                return this.monthField;
            }
            set {
                this.monthField = value;
                this.RaisePropertyChanged("Month");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateMeteringValueExportType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateMeteringValueExportWithTSType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateMeteringValueExportType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateCurrentMeteringValueExportType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateMeteringValueImportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/metering-device-base/")]
    public partial class OneRateMeteringValueBaseType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private nsiRef municipalResourceField;
        
        private string meteringValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public nsiRef MunicipalResource {
            get {
                return this.municipalResourceField;
            }
            set {
                this.municipalResourceField = value;
                this.RaisePropertyChanged("MunicipalResource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string MeteringValue {
            get {
                return this.meteringValueField;
            }
            set {
                this.meteringValueField = value;
                this.RaisePropertyChanged("MeteringValue");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateMeteringValueExportWithTSType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateMeteringValueExportType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateCurrentMeteringValueExportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/metering-device-base/")]
    public partial class OneRateMeteringValueExportType : OneRateMeteringValueBaseType {
        
        private string readingsSourceField;
        
        private string orgPPAGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string ReadingsSource {
            get {
                return this.readingsSourceField;
            }
            set {
                this.readingsSourceField = value;
                this.RaisePropertyChanged("ReadingsSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string orgPPAGUID {
            get {
                return this.orgPPAGUIDField;
            }
            set {
                this.orgPPAGUIDField = value;
                this.RaisePropertyChanged("orgPPAGUID");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateMeteringValueExportType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateCurrentMeteringValueExportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/metering-device-base/")]
    public partial class OneRateMeteringValueExportWithTSType : OneRateMeteringValueExportType {
        
        private System.DateTime enterIntoSystemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public System.DateTime EnterIntoSystem {
            get {
                return this.enterIntoSystemField;
            }
            set {
                this.enterIntoSystemField = value;
                this.RaisePropertyChanged("EnterIntoSystem");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneRateCurrentMeteringValueExportType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="OneRateMeteringValueExportType", Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class OneRateMeteringValueExportType1 : OneRateMeteringValueExportWithTSType {
        
        private string unitField;
        
        private OneRateMeteringValueExportTypeMeteringValueInDefaultUnit meteringValueInDefaultUnitField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
                this.RaisePropertyChanged("Unit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public OneRateMeteringValueExportTypeMeteringValueInDefaultUnit MeteringValueInDefaultUnit {
            get {
                return this.meteringValueInDefaultUnitField;
            }
            set {
                this.meteringValueInDefaultUnitField = value;
                this.RaisePropertyChanged("MeteringValueInDefaultUnit");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class OneRateMeteringValueExportTypeMeteringValueInDefaultUnit : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string meteringValueField;
        
        private string defaultUnitField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string MeteringValue {
            get {
                return this.meteringValueField;
            }
            set {
                this.meteringValueField = value;
                this.RaisePropertyChanged("MeteringValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string DefaultUnit {
            get {
                return this.defaultUnitField;
            }
            set {
                this.defaultUnitField = value;
                this.RaisePropertyChanged("DefaultUnit");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class OneRateCurrentMeteringValueExportType : OneRateMeteringValueExportType1 {
        
        private System.DateTime dateValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public System.DateTime DateValue {
            get {
                return this.dateValueField;
            }
            set {
                this.dateValueField = value;
                this.RaisePropertyChanged("DateValue");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class OneRateMeteringValueImportType : OneRateMeteringValueBaseType {
        
        private System.DateTime dateValueField;
        
        private string transportGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime DateValue {
            get {
                return this.dateValueField;
            }
            set {
                this.dateValueField = value;
                this.RaisePropertyChanged("DateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=1)]
        public string TransportGUID {
            get {
                return this.transportGUIDField;
            }
            set {
                this.transportGUIDField = value;
                this.RaisePropertyChanged("TransportGUID");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class ObjectType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Xml.XmlNode[] anyField;
        
        private string idField;
        
        private string mimeTypeField;
        
        private string encodingField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        public System.Xml.XmlNode[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("Id");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MimeType {
            get {
                return this.mimeTypeField;
            }
            set {
                this.mimeTypeField = value;
                this.RaisePropertyChanged("MimeType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Encoding {
            get {
                return this.encodingField;
            }
            set {
                this.encodingField = value;
                this.RaisePropertyChanged("Encoding");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class SPKIDataType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("SPKISexp", typeof(byte[]), DataType="base64Binary", Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class PGPDataType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private ItemsChoiceType1[] itemsElementNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PGPKeyID", typeof(byte[]), DataType="base64Binary", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PGPKeyPacket", typeof(byte[]), DataType="base64Binary", Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName", Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType1[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
                this.RaisePropertyChanged("ItemsElementName");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", IncludeInSchema=false)]
    public enum ItemsChoiceType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("##any:")]
        Item,
        
        /// <remarks/>
        PGPKeyID,
        
        /// <remarks/>
        PGPKeyPacket,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class X509IssuerSerialType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string x509IssuerNameField;
        
        private string x509SerialNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string X509IssuerName {
            get {
                return this.x509IssuerNameField;
            }
            set {
                this.x509IssuerNameField = value;
                this.RaisePropertyChanged("X509IssuerName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=1)]
        public string X509SerialNumber {
            get {
                return this.x509SerialNumberField;
            }
            set {
                this.x509SerialNumberField = value;
                this.RaisePropertyChanged("X509SerialNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class X509DataType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private ItemsChoiceType[] itemsElementNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("X509CRL", typeof(byte[]), DataType="base64Binary", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("X509Certificate", typeof(byte[]), DataType="base64Binary", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("X509IssuerSerial", typeof(X509IssuerSerialType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("X509SKI", typeof(byte[]), DataType="base64Binary", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("X509SubjectName", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName", Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
                this.RaisePropertyChanged("ItemsElementName");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", IncludeInSchema=false)]
    public enum ItemsChoiceType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("##any:")]
        Item,
        
        /// <remarks/>
        X509CRL,
        
        /// <remarks/>
        X509Certificate,
        
        /// <remarks/>
        X509IssuerSerial,
        
        /// <remarks/>
        X509SKI,
        
        /// <remarks/>
        X509SubjectName,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class RetrievalMethodType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private TransformType[] transformsField;
        
        private string uRIField;
        
        private string typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", IsNullable=false)]
        public TransformType[] Transforms {
            get {
                return this.transformsField;
            }
            set {
                this.transformsField = value;
                this.RaisePropertyChanged("Transforms");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI {
            get {
                return this.uRIField;
            }
            set {
                this.uRIField = value;
                this.RaisePropertyChanged("URI");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class TransformType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private string[] textField;
        
        private string algorithmField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("XPath", typeof(string), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm {
            get {
                return this.algorithmField;
            }
            set {
                this.algorithmField = value;
                this.RaisePropertyChanged("Algorithm");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class RSAKeyValueType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private byte[] modulusField;
        
        private byte[] exponentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=0)]
        public byte[] Modulus {
            get {
                return this.modulusField;
            }
            set {
                this.modulusField = value;
                this.RaisePropertyChanged("Modulus");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=1)]
        public byte[] Exponent {
            get {
                return this.exponentField;
            }
            set {
                this.exponentField = value;
                this.RaisePropertyChanged("Exponent");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class DSAKeyValueType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private byte[] pField;
        
        private byte[] qField;
        
        private byte[] gField;
        
        private byte[] yField;
        
        private byte[] jField;
        
        private byte[] seedField;
        
        private byte[] pgenCounterField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=0)]
        public byte[] P {
            get {
                return this.pField;
            }
            set {
                this.pField = value;
                this.RaisePropertyChanged("P");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=1)]
        public byte[] Q {
            get {
                return this.qField;
            }
            set {
                this.qField = value;
                this.RaisePropertyChanged("Q");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=2)]
        public byte[] G {
            get {
                return this.gField;
            }
            set {
                this.gField = value;
                this.RaisePropertyChanged("G");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=3)]
        public byte[] Y {
            get {
                return this.yField;
            }
            set {
                this.yField = value;
                this.RaisePropertyChanged("Y");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=4)]
        public byte[] J {
            get {
                return this.jField;
            }
            set {
                this.jField = value;
                this.RaisePropertyChanged("J");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=5)]
        public byte[] Seed {
            get {
                return this.seedField;
            }
            set {
                this.seedField = value;
                this.RaisePropertyChanged("Seed");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=6)]
        public byte[] PgenCounter {
            get {
                return this.pgenCounterField;
            }
            set {
                this.pgenCounterField = value;
                this.RaisePropertyChanged("PgenCounter");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class KeyValueType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private string[] textField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("DSAKeyValue", typeof(DSAKeyValueType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("RSAKeyValue", typeof(RSAKeyValueType), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class KeyInfoType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private ItemsChoiceType2[] itemsElementNameField;
        
        private string[] textField;
        
        private string idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("KeyName", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("KeyValue", typeof(KeyValueType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("MgmtData", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PGPData", typeof(PGPDataType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("RetrievalMethod", typeof(RetrievalMethodType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("SPKIData", typeof(SPKIDataType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("X509Data", typeof(X509DataType), Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName", Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType2[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
                this.RaisePropertyChanged("ItemsElementName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("Id");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", IncludeInSchema=false)]
    public enum ItemsChoiceType2 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("##any:")]
        Item,
        
        /// <remarks/>
        KeyName,
        
        /// <remarks/>
        KeyValue,
        
        /// <remarks/>
        MgmtData,
        
        /// <remarks/>
        PGPData,
        
        /// <remarks/>
        RetrievalMethod,
        
        /// <remarks/>
        SPKIData,
        
        /// <remarks/>
        X509Data,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class SignatureValueType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string idField;
        
        private byte[] valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("Id");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="base64Binary")]
        public byte[] Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class DigestMethodType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Xml.XmlNode[] anyField;
        
        private string algorithmField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        public System.Xml.XmlNode[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm {
            get {
                return this.algorithmField;
            }
            set {
                this.algorithmField = value;
                this.RaisePropertyChanged("Algorithm");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class ReferenceType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private TransformType[] transformsField;
        
        private DigestMethodType digestMethodField;
        
        private byte[] digestValueField;
        
        private string idField;
        
        private string uRIField;
        
        private string typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", IsNullable=false)]
        public TransformType[] Transforms {
            get {
                return this.transformsField;
            }
            set {
                this.transformsField = value;
                this.RaisePropertyChanged("Transforms");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public DigestMethodType DigestMethod {
            get {
                return this.digestMethodField;
            }
            set {
                this.digestMethodField = value;
                this.RaisePropertyChanged("DigestMethod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=2)]
        public byte[] DigestValue {
            get {
                return this.digestValueField;
            }
            set {
                this.digestValueField = value;
                this.RaisePropertyChanged("DigestValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("Id");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI {
            get {
                return this.uRIField;
            }
            set {
                this.uRIField = value;
                this.RaisePropertyChanged("URI");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class SignatureMethodType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string hMACOutputLengthField;
        
        private System.Xml.XmlNode[] anyField;
        
        private string algorithmField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)]
        public string HMACOutputLength {
            get {
                return this.hMACOutputLengthField;
            }
            set {
                this.hMACOutputLengthField = value;
                this.RaisePropertyChanged("HMACOutputLength");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
        public System.Xml.XmlNode[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm {
            get {
                return this.algorithmField;
            }
            set {
                this.algorithmField = value;
                this.RaisePropertyChanged("Algorithm");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class CanonicalizationMethodType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Xml.XmlNode[] anyField;
        
        private string algorithmField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        public System.Xml.XmlNode[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm {
            get {
                return this.algorithmField;
            }
            set {
                this.algorithmField = value;
                this.RaisePropertyChanged("Algorithm");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class SignedInfoType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private CanonicalizationMethodType canonicalizationMethodField;
        
        private SignatureMethodType signatureMethodField;
        
        private ReferenceType[] referenceField;
        
        private string idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public CanonicalizationMethodType CanonicalizationMethod {
            get {
                return this.canonicalizationMethodField;
            }
            set {
                this.canonicalizationMethodField = value;
                this.RaisePropertyChanged("CanonicalizationMethod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public SignatureMethodType SignatureMethod {
            get {
                return this.signatureMethodField;
            }
            set {
                this.signatureMethodField = value;
                this.RaisePropertyChanged("SignatureMethod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Reference", Order=2)]
        public ReferenceType[] Reference {
            get {
                return this.referenceField;
            }
            set {
                this.referenceField = value;
                this.RaisePropertyChanged("Reference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("Id");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public partial class SignatureType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SignedInfoType signedInfoField;
        
        private SignatureValueType signatureValueField;
        
        private KeyInfoType keyInfoField;
        
        private ObjectType[] objectField;
        
        private string idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public SignedInfoType SignedInfo {
            get {
                return this.signedInfoField;
            }
            set {
                this.signedInfoField = value;
                this.RaisePropertyChanged("SignedInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public SignatureValueType SignatureValue {
            get {
                return this.signatureValueField;
            }
            set {
                this.signatureValueField = value;
                this.RaisePropertyChanged("SignatureValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public KeyInfoType KeyInfo {
            get {
                return this.keyInfoField;
            }
            set {
                this.keyInfoField = value;
                this.RaisePropertyChanged("KeyInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Object", Order=3)]
        public ObjectType[] Object {
            get {
                return this.objectField;
            }
            set {
                this.objectField = value;
                this.RaisePropertyChanged("Object");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("Id");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseAsyncResponseType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class BaseType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SignatureType signatureField;
        
        private string idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", Order=0)]
        public SignatureType Signature {
            get {
                return this.signatureField;
            }
            set {
                this.signatureField = value;
                this.RaisePropertyChanged("Signature");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("Id");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class BaseAsyncResponseType : BaseType {
        
        private sbyte requestStateField;
        
        private string messageGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public sbyte RequestState {
            get {
                return this.requestStateField;
            }
            set {
                this.requestStateField = value;
                this.RaisePropertyChanged("RequestState");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string MessageGUID {
            get {
                return this.messageGUIDField;
            }
            set {
                this.messageGUIDField = value;
                this.RaisePropertyChanged("MessageGUID");
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering-service-async/", ConfigurationName="Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync")]
    public interface DeviceMeteringPortTypesAsync {
        
        // CODEGEN: Контракт генерации сообщений с операцией importMeteringDeviceValues не является ни RPC, ни упакованным документом.
        [System.ServiceModel.OperationContractAttribute(Action="urn:importMeteringDeviceValues", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(Hcs.Service.Async.DeviceMetering.Fault), Action="urn:importMeteringDeviceValues", Name="Fault", Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseType))]
        Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesResponse importMeteringDeviceValues(Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest1 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="urn:importMeteringDeviceValues", ReplyAction="*")]
        System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesResponse> importMeteringDeviceValuesAsync(Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest1 request);
        
        // CODEGEN: Контракт генерации сообщений с операцией exportMeteringDeviceHistory не является ни RPC, ни упакованным документом.
        [System.ServiceModel.OperationContractAttribute(Action="urn:exportMeteringDeviceHistory", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(Hcs.Service.Async.DeviceMetering.Fault), Action="urn:exportMeteringDeviceHistory", Name="Fault", Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseType))]
        Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryResponse exportMeteringDeviceHistory(Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest1 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="urn:exportMeteringDeviceHistory", ReplyAction="*")]
        System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryResponse> exportMeteringDeviceHistoryAsync(Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest1 request);
        
        // CODEGEN: Контракт генерации сообщений с операцией getState не является ни RPC, ни упакованным документом.
        [System.ServiceModel.OperationContractAttribute(Action="urn:getState", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(Hcs.Service.Async.DeviceMetering.Fault), Action="urn:getState", Name="Fault", Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseType))]
        Hcs.Service.Async.DeviceMetering.getStateResponse getState(Hcs.Service.Async.DeviceMetering.getStateRequest1 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="urn:getState", ReplyAction="*")]
        System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.getStateResponse> getStateAsync(Hcs.Service.Async.DeviceMetering.getStateRequest1 request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class RequestHeader : HeaderType {
        
        private object itemField;
        
        private ItemChoiceType1 itemElementNameField;
        
        private bool isOperatorSignatureField;
        
        private bool isOperatorSignatureFieldSpecified;
        
        private ISCreator[] iSCreatorField;
        
        public RequestHeader() {
            this.isOperatorSignatureField = true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Citizen", typeof(RequestHeaderCitizen), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("SenderID", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("orgPPAGUID", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType1 ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
                this.RaisePropertyChanged("ItemElementName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public bool IsOperatorSignature {
            get {
                return this.isOperatorSignatureField;
            }
            set {
                this.isOperatorSignatureField = value;
                this.RaisePropertyChanged("IsOperatorSignature");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsOperatorSignatureSpecified {
            get {
                return this.isOperatorSignatureFieldSpecified;
            }
            set {
                this.isOperatorSignatureFieldSpecified = value;
                this.RaisePropertyChanged("IsOperatorSignatureSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ISCreator", Order=3)]
        public ISCreator[] ISCreator {
            get {
                return this.iSCreatorField;
            }
            set {
                this.iSCreatorField = value;
                this.RaisePropertyChanged("ISCreator");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class RequestHeaderCitizen : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private ItemsChoiceType3[] itemsElementNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CitizenPPAGUID", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Document", typeof(RequestHeaderCitizenDocument), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("SNILS", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName", Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType3[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
                this.RaisePropertyChanged("ItemsElementName");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class RequestHeaderCitizenDocument : object, System.ComponentModel.INotifyPropertyChanged {
        
        private RequestHeaderCitizenDocumentDocumentType documentTypeField;
        
        private string seriesField;
        
        private string numberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public RequestHeaderCitizenDocumentDocumentType DocumentType {
            get {
                return this.documentTypeField;
            }
            set {
                this.documentTypeField = value;
                this.RaisePropertyChanged("DocumentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Series {
            get {
                return this.seriesField;
            }
            set {
                this.seriesField = value;
                this.RaisePropertyChanged("Series");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class RequestHeaderCitizenDocumentDocumentType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string gUIDField;
        
        private string nameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string GUID {
            get {
                return this.gUIDField;
            }
            set {
                this.gUIDField = value;
                this.RaisePropertyChanged("GUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", IncludeInSchema=false)]
    public enum ItemsChoiceType3 {
        
        /// <remarks/>
        CitizenPPAGUID,
        
        /// <remarks/>
        Document,
        
        /// <remarks/>
        SNILS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", IncludeInSchema=false)]
    public enum ItemChoiceType1 {
        
        /// <remarks/>
        Citizen,
        
        /// <remarks/>
        SenderID,
        
        /// <remarks/>
        orgPPAGUID,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class ISCreator : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string iSNameField;
        
        private string iSOperatorNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string ISName {
            get {
                return this.iSNameField;
            }
            set {
                this.iSNameField = value;
                this.RaisePropertyChanged("ISName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string ISOperatorName {
            get {
                return this.iSOperatorNameField;
            }
            set {
                this.iSOperatorNameField = value;
                this.RaisePropertyChanged("ISOperatorName");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class HeaderType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime dateField;
        
        private string messageGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public System.DateTime Date {
            get {
                return this.dateField;
            }
            set {
                this.dateField = value;
                this.RaisePropertyChanged("Date");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string MessageGUID {
            get {
                return this.messageGUIDField;
            }
            set {
                this.messageGUIDField = value;
                this.RaisePropertyChanged("MessageGUID");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequest : BaseType {
        
        private string fIASHouseGuidField;
        
        private importMeteringDeviceValuesRequestMeteringDevicesValues[] meteringDevicesValuesField;
        
        private string versionField;
        
        public importMeteringDeviceValuesRequest() {
            this.versionField = "10.0.1.1";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string FIASHouseGuid {
            get {
                return this.fIASHouseGuidField;
            }
            set {
                this.fIASHouseGuidField = value;
                this.RaisePropertyChanged("FIASHouseGuid");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MeteringDevicesValues", Order=1)]
        public importMeteringDeviceValuesRequestMeteringDevicesValues[] MeteringDevicesValues {
            get {
                return this.meteringDevicesValuesField;
            }
            set {
                this.meteringDevicesValuesField = value;
                this.RaisePropertyChanged("MeteringDevicesValues");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
                this.RaisePropertyChanged("version");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValues : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string itemField;
        
        private ItemChoiceType itemElementNameField;
        
        private object item1Field;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MeteringDeviceRootGUID", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("MeteringDeviceVersionGUID", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public string Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
                this.RaisePropertyChanged("ItemElementName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ElectricDeviceValue", typeof(importMeteringDeviceValuesRequestMeteringDevicesValuesElectricDeviceValue), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("OneRateDeviceValue", typeof(importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValue), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("VolumeDeviceValue", typeof(importMeteringDeviceValuesRequestMeteringDevicesValuesVolumeDeviceValue), Order=2)]
        public object Item1 {
            get {
                return this.item1Field;
            }
            set {
                this.item1Field = value;
                this.RaisePropertyChanged("Item1");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/", IncludeInSchema=false)]
    public enum ItemChoiceType {
        
        /// <remarks/>
        MeteringDeviceRootGUID,
        
        /// <remarks/>
        MeteringDeviceVersionGUID,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesElectricDeviceValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private importMeteringDeviceValuesRequestMeteringDevicesValuesElectricDeviceValueCurrentValue currentValueField;
        
        private ElectricMeteringValueImportType controlValueField;
        
        private importMeteringDeviceValuesRequestMeteringDevicesValuesElectricDeviceValueVerificationValue verificationValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public importMeteringDeviceValuesRequestMeteringDevicesValuesElectricDeviceValueCurrentValue CurrentValue {
            get {
                return this.currentValueField;
            }
            set {
                this.currentValueField = value;
                this.RaisePropertyChanged("CurrentValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public ElectricMeteringValueImportType ControlValue {
            get {
                return this.controlValueField;
            }
            set {
                this.controlValueField = value;
                this.RaisePropertyChanged("ControlValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public importMeteringDeviceValuesRequestMeteringDevicesValuesElectricDeviceValueVerificationValue VerificationValue {
            get {
                return this.verificationValueField;
            }
            set {
                this.verificationValueField = value;
                this.RaisePropertyChanged("VerificationValue");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesElectricDeviceValueCurrentValue : ElectricMeteringValueImportType {
        
        private YearMonth periodField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public YearMonth Period {
            get {
                return this.periodField;
            }
            set {
                this.periodField = value;
                this.RaisePropertyChanged("Period");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesElectricDeviceValueVerificationValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime startDateValueField;
        
        private System.DateTime endDateValueField;
        
        private System.DateTime sealDateField;
        
        private ElectricMeteringValueBaseType startValueField;
        
        private ElectricMeteringValueBaseType endValueField;
        
        private object itemField;
        
        private string transportGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime StartDateValue {
            get {
                return this.startDateValueField;
            }
            set {
                this.startDateValueField = value;
                this.RaisePropertyChanged("StartDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)]
        public System.DateTime EndDateValue {
            get {
                return this.endDateValueField;
            }
            set {
                this.endDateValueField = value;
                this.RaisePropertyChanged("EndDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=2)]
        public System.DateTime SealDate {
            get {
                return this.sealDateField;
            }
            set {
                this.sealDateField = value;
                this.RaisePropertyChanged("SealDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public ElectricMeteringValueBaseType StartValue {
            get {
                return this.startValueField;
            }
            set {
                this.startValueField = value;
                this.RaisePropertyChanged("StartValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public ElectricMeteringValueBaseType EndValue {
            get {
                return this.endValueField;
            }
            set {
                this.endValueField = value;
                this.RaisePropertyChanged("EndValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PlannedVerification", typeof(bool), Order=5)]
        [System.Xml.Serialization.XmlElementAttribute("VerificationReason", typeof(nsiRef), Order=5)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=6)]
        public string TransportGUID {
            get {
                return this.transportGUIDField;
            }
            set {
                this.transportGUIDField = value;
                this.RaisePropertyChanged("TransportGUID");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueCurrentValue[] currentValueField;
        
        private OneRateMeteringValueImportType[] controlValueField;
        
        private importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueVerificationValue verificationValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CurrentValue", Order=0)]
        public importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueCurrentValue[] CurrentValue {
            get {
                return this.currentValueField;
            }
            set {
                this.currentValueField = value;
                this.RaisePropertyChanged("CurrentValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ControlValue", Order=1)]
        public OneRateMeteringValueImportType[] ControlValue {
            get {
                return this.controlValueField;
            }
            set {
                this.controlValueField = value;
                this.RaisePropertyChanged("ControlValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueVerificationValue VerificationValue {
            get {
                return this.verificationValueField;
            }
            set {
                this.verificationValueField = value;
                this.RaisePropertyChanged("VerificationValue");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueCurrentValue : OneRateMeteringValueImportType {
        
        private YearMonth periodField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public YearMonth Period {
            get {
                return this.periodField;
            }
            set {
                this.periodField = value;
                this.RaisePropertyChanged("Period");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueVerificationValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime startDateValueField;
        
        private System.DateTime endDateValueField;
        
        private System.DateTime sealDateField;
        
        private OneRateMeteringValueBaseType[] startValueField;
        
        private OneRateMeteringValueBaseType[] endValueField;
        
        private object itemField;
        
        private string transportGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime StartDateValue {
            get {
                return this.startDateValueField;
            }
            set {
                this.startDateValueField = value;
                this.RaisePropertyChanged("StartDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)]
        public System.DateTime EndDateValue {
            get {
                return this.endDateValueField;
            }
            set {
                this.endDateValueField = value;
                this.RaisePropertyChanged("EndDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=2)]
        public System.DateTime SealDate {
            get {
                return this.sealDateField;
            }
            set {
                this.sealDateField = value;
                this.RaisePropertyChanged("SealDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("StartValue", Order=3)]
        public OneRateMeteringValueBaseType[] StartValue {
            get {
                return this.startValueField;
            }
            set {
                this.startValueField = value;
                this.RaisePropertyChanged("StartValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EndValue", Order=4)]
        public OneRateMeteringValueBaseType[] EndValue {
            get {
                return this.endValueField;
            }
            set {
                this.endValueField = value;
                this.RaisePropertyChanged("EndValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PlannedVerification", typeof(bool), Order=5)]
        [System.Xml.Serialization.XmlElementAttribute("VerificationReason", typeof(nsiRef), Order=5)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=6)]
        public string TransportGUID {
            get {
                return this.transportGUIDField;
            }
            set {
                this.transportGUIDField = value;
                this.RaisePropertyChanged("TransportGUID");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesVolumeDeviceValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private importMeteringDeviceValuesRequestMeteringDevicesValuesVolumeDeviceValueCurrentValue[] currentValueField;
        
        private VolumeMeteringValueImportType[] controlValueField;
        
        private importMeteringDeviceValuesRequestMeteringDevicesValuesVolumeDeviceValueVerificationValue verificationValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CurrentValue", Order=0)]
        public importMeteringDeviceValuesRequestMeteringDevicesValuesVolumeDeviceValueCurrentValue[] CurrentValue {
            get {
                return this.currentValueField;
            }
            set {
                this.currentValueField = value;
                this.RaisePropertyChanged("CurrentValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ControlValue", Order=1)]
        public VolumeMeteringValueImportType[] ControlValue {
            get {
                return this.controlValueField;
            }
            set {
                this.controlValueField = value;
                this.RaisePropertyChanged("ControlValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public importMeteringDeviceValuesRequestMeteringDevicesValuesVolumeDeviceValueVerificationValue VerificationValue {
            get {
                return this.verificationValueField;
            }
            set {
                this.verificationValueField = value;
                this.RaisePropertyChanged("VerificationValue");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesVolumeDeviceValueCurrentValue : VolumeMeteringValueImportType {
        
        private YearMonth periodField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public YearMonth Period {
            get {
                return this.periodField;
            }
            set {
                this.periodField = value;
                this.RaisePropertyChanged("Period");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class importMeteringDeviceValuesRequestMeteringDevicesValuesVolumeDeviceValueVerificationValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime startDateValueField;
        
        private System.DateTime endDateValueField;
        
        private System.DateTime sealDateField;
        
        private VolumeMeteringValueBaseType[] startValueField;
        
        private VolumeMeteringValueBaseType[] endValueField;
        
        private object itemField;
        
        private string transportGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime StartDateValue {
            get {
                return this.startDateValueField;
            }
            set {
                this.startDateValueField = value;
                this.RaisePropertyChanged("StartDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)]
        public System.DateTime EndDateValue {
            get {
                return this.endDateValueField;
            }
            set {
                this.endDateValueField = value;
                this.RaisePropertyChanged("EndDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=2)]
        public System.DateTime SealDate {
            get {
                return this.sealDateField;
            }
            set {
                this.sealDateField = value;
                this.RaisePropertyChanged("SealDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("StartValue", Order=3)]
        public VolumeMeteringValueBaseType[] StartValue {
            get {
                return this.startValueField;
            }
            set {
                this.startValueField = value;
                this.RaisePropertyChanged("StartValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EndValue", Order=4)]
        public VolumeMeteringValueBaseType[] EndValue {
            get {
                return this.endValueField;
            }
            set {
                this.endValueField = value;
                this.RaisePropertyChanged("EndValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PlannedVerification", typeof(bool), Order=5)]
        [System.Xml.Serialization.XmlElementAttribute("VerificationReason", typeof(nsiRef), Order=5)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=6)]
        public string TransportGUID {
            get {
                return this.transportGUIDField;
            }
            set {
                this.transportGUIDField = value;
                this.RaisePropertyChanged("TransportGUID");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class ResultHeader : HeaderType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class AckRequest : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AckRequestAck ackField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public AckRequestAck Ack {
            get {
                return this.ackField;
            }
            set {
                this.ackField = value;
                this.RaisePropertyChanged("Ack");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class AckRequestAck : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string messageGUIDField;
        
        private string requesterMessageGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string MessageGUID {
            get {
                return this.messageGUIDField;
            }
            set {
                this.messageGUIDField = value;
                this.RaisePropertyChanged("MessageGUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string RequesterMessageGUID {
            get {
                return this.requesterMessageGUIDField;
            }
            set {
                this.requesterMessageGUIDField = value;
                this.RaisePropertyChanged("RequesterMessageGUID");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class importMeteringDeviceValuesRequest1 {
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/", Order=0)]
        public Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest importMeteringDeviceValuesRequest;
        
        public importMeteringDeviceValuesRequest1() {
        }
        
        public importMeteringDeviceValuesRequest1(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest importMeteringDeviceValuesRequest) {
            this.RequestHeader = RequestHeader;
            this.importMeteringDeviceValuesRequest = importMeteringDeviceValuesRequest;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class importMeteringDeviceValuesResponse {
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public Hcs.Service.Async.DeviceMetering.ResultHeader ResultHeader;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=0)]
        public Hcs.Service.Async.DeviceMetering.AckRequest AckRequest;
        
        public importMeteringDeviceValuesResponse() {
        }
        
        public importMeteringDeviceValuesResponse(Hcs.Service.Async.DeviceMetering.ResultHeader ResultHeader, Hcs.Service.Async.DeviceMetering.AckRequest AckRequest) {
            this.ResultHeader = ResultHeader;
            this.AckRequest = AckRequest;
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryRequest : BaseType {
        
        private string[] fIASHouseGuidField;
        
        private string exportMeteringDeviceRootGUIDField;
        
        private object[] itemsField;
        
        private ItemsChoiceType4[] itemsElementNameField;
        
        private System.DateTime commissioningDateFromField;
        
        private bool commissioningDateFromFieldSpecified;
        
        private System.DateTime commissioningDateToField;
        
        private bool commissioningDateToFieldSpecified;
        
        private bool serchArchivedField;
        
        private bool serchArchivedFieldSpecified;
        
        private System.DateTime archiveDateFromField;
        
        private bool archiveDateFromFieldSpecified;
        
        private System.DateTime archiveDateToField;
        
        private bool archiveDateToFieldSpecified;
        
        private System.DateTime inputDateFromField;
        
        private bool inputDateFromFieldSpecified;
        
        private System.DateTime inputDateToField;
        
        private bool inputDateToFieldSpecified;
        
        private bool excludePersonAsDataSourceField;
        
        private bool excludePersonAsDataSourceFieldSpecified;
        
        private bool excludeCurrentOrgAsDataSourceField;
        
        private bool excludeCurrentOrgAsDataSourceFieldSpecified;
        
        private bool excludeOtherOrgAsDataSourceField;
        
        private bool excludeOtherOrgAsDataSourceFieldSpecified;
        
        private bool excludeISValuesField;
        
        private bool excludeISValuesFieldSpecified;
        
        private string versionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FIASHouseGuid", Order=0)]
        public string[] FIASHouseGuid {
            get {
                return this.fIASHouseGuidField;
            }
            set {
                this.fIASHouseGuidField = value;
                this.RaisePropertyChanged("FIASHouseGuid");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string ExportMeteringDeviceRootGUID {
            get {
                return this.exportMeteringDeviceRootGUIDField;
            }
            set {
                this.exportMeteringDeviceRootGUIDField = value;
                this.RaisePropertyChanged("ExportMeteringDeviceRootGUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MeteringDeviceRootGUID", typeof(string), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("MeteringDeviceType", typeof(nsiRef), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("MunicipalResource", typeof(nsiRef), Order=2)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName", Order=3)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType4[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
                this.RaisePropertyChanged("ItemsElementName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=4)]
        public System.DateTime CommissioningDateFrom {
            get {
                return this.commissioningDateFromField;
            }
            set {
                this.commissioningDateFromField = value;
                this.RaisePropertyChanged("CommissioningDateFrom");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CommissioningDateFromSpecified {
            get {
                return this.commissioningDateFromFieldSpecified;
            }
            set {
                this.commissioningDateFromFieldSpecified = value;
                this.RaisePropertyChanged("CommissioningDateFromSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=5)]
        public System.DateTime CommissioningDateTo {
            get {
                return this.commissioningDateToField;
            }
            set {
                this.commissioningDateToField = value;
                this.RaisePropertyChanged("CommissioningDateTo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CommissioningDateToSpecified {
            get {
                return this.commissioningDateToFieldSpecified;
            }
            set {
                this.commissioningDateToFieldSpecified = value;
                this.RaisePropertyChanged("CommissioningDateToSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public bool SerchArchived {
            get {
                return this.serchArchivedField;
            }
            set {
                this.serchArchivedField = value;
                this.RaisePropertyChanged("SerchArchived");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SerchArchivedSpecified {
            get {
                return this.serchArchivedFieldSpecified;
            }
            set {
                this.serchArchivedFieldSpecified = value;
                this.RaisePropertyChanged("SerchArchivedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=7)]
        public System.DateTime ArchiveDateFrom {
            get {
                return this.archiveDateFromField;
            }
            set {
                this.archiveDateFromField = value;
                this.RaisePropertyChanged("ArchiveDateFrom");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ArchiveDateFromSpecified {
            get {
                return this.archiveDateFromFieldSpecified;
            }
            set {
                this.archiveDateFromFieldSpecified = value;
                this.RaisePropertyChanged("ArchiveDateFromSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=8)]
        public System.DateTime ArchiveDateTo {
            get {
                return this.archiveDateToField;
            }
            set {
                this.archiveDateToField = value;
                this.RaisePropertyChanged("ArchiveDateTo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ArchiveDateToSpecified {
            get {
                return this.archiveDateToFieldSpecified;
            }
            set {
                this.archiveDateToFieldSpecified = value;
                this.RaisePropertyChanged("ArchiveDateToSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=9)]
        public System.DateTime inputDateFrom {
            get {
                return this.inputDateFromField;
            }
            set {
                this.inputDateFromField = value;
                this.RaisePropertyChanged("inputDateFrom");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool inputDateFromSpecified {
            get {
                return this.inputDateFromFieldSpecified;
            }
            set {
                this.inputDateFromFieldSpecified = value;
                this.RaisePropertyChanged("inputDateFromSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=10)]
        public System.DateTime inputDateTo {
            get {
                return this.inputDateToField;
            }
            set {
                this.inputDateToField = value;
                this.RaisePropertyChanged("inputDateTo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool inputDateToSpecified {
            get {
                return this.inputDateToFieldSpecified;
            }
            set {
                this.inputDateToFieldSpecified = value;
                this.RaisePropertyChanged("inputDateToSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=11)]
        public bool ExcludePersonAsDataSource {
            get {
                return this.excludePersonAsDataSourceField;
            }
            set {
                this.excludePersonAsDataSourceField = value;
                this.RaisePropertyChanged("ExcludePersonAsDataSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExcludePersonAsDataSourceSpecified {
            get {
                return this.excludePersonAsDataSourceFieldSpecified;
            }
            set {
                this.excludePersonAsDataSourceFieldSpecified = value;
                this.RaisePropertyChanged("ExcludePersonAsDataSourceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=12)]
        public bool ExcludeCurrentOrgAsDataSource {
            get {
                return this.excludeCurrentOrgAsDataSourceField;
            }
            set {
                this.excludeCurrentOrgAsDataSourceField = value;
                this.RaisePropertyChanged("ExcludeCurrentOrgAsDataSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExcludeCurrentOrgAsDataSourceSpecified {
            get {
                return this.excludeCurrentOrgAsDataSourceFieldSpecified;
            }
            set {
                this.excludeCurrentOrgAsDataSourceFieldSpecified = value;
                this.RaisePropertyChanged("ExcludeCurrentOrgAsDataSourceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=13)]
        public bool ExcludeOtherOrgAsDataSource {
            get {
                return this.excludeOtherOrgAsDataSourceField;
            }
            set {
                this.excludeOtherOrgAsDataSourceField = value;
                this.RaisePropertyChanged("ExcludeOtherOrgAsDataSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExcludeOtherOrgAsDataSourceSpecified {
            get {
                return this.excludeOtherOrgAsDataSourceFieldSpecified;
            }
            set {
                this.excludeOtherOrgAsDataSourceFieldSpecified = value;
                this.RaisePropertyChanged("ExcludeOtherOrgAsDataSourceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=14)]
        public bool excludeISValues {
            get {
                return this.excludeISValuesField;
            }
            set {
                this.excludeISValuesField = value;
                this.RaisePropertyChanged("excludeISValues");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool excludeISValuesSpecified {
            get {
                return this.excludeISValuesFieldSpecified;
            }
            set {
                this.excludeISValuesFieldSpecified = value;
                this.RaisePropertyChanged("excludeISValuesSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
                this.RaisePropertyChanged("version");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/", IncludeInSchema=false)]
    public enum ItemsChoiceType4 {
        
        /// <remarks/>
        MeteringDeviceRootGUID,
        
        /// <remarks/>
        MeteringDeviceType,
        
        /// <remarks/>
        MunicipalResource,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class exportMeteringDeviceHistoryRequest1 {
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/", Order=0)]
        public Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest exportMeteringDeviceHistoryRequest;
        
        public exportMeteringDeviceHistoryRequest1() {
        }
        
        public exportMeteringDeviceHistoryRequest1(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest exportMeteringDeviceHistoryRequest) {
            this.RequestHeader = RequestHeader;
            this.exportMeteringDeviceHistoryRequest = exportMeteringDeviceHistoryRequest;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class exportMeteringDeviceHistoryResponse {
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public Hcs.Service.Async.DeviceMetering.ResultHeader ResultHeader;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=0)]
        public Hcs.Service.Async.DeviceMetering.AckRequest AckRequest;
        
        public exportMeteringDeviceHistoryResponse() {
        }
        
        public exportMeteringDeviceHistoryResponse(Hcs.Service.Async.DeviceMetering.ResultHeader ResultHeader, Hcs.Service.Async.DeviceMetering.AckRequest AckRequest) {
            this.ResultHeader = ResultHeader;
            this.AckRequest = AckRequest;
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class getStateRequest : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string messageGUIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string MessageGUID {
            get {
                return this.messageGUIDField;
            }
            set {
                this.messageGUIDField = value;
                this.RaisePropertyChanged("MessageGUID");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class getStateResult : BaseAsyncResponseType {
        
        private object[] itemsField;
        
        private string versionField;
        
        public getStateResult() {
            this.versionField = "10.0.1.1";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ErrorMessage", typeof(ErrorMessageType), Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("ImportResult", typeof(CommonResultType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PagedOutput", typeof(getStateResultPagedOutput), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("exportMeteringDeviceHistoryResult", typeof(exportMeteringDeviceHistoryResultType), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
                this.RaisePropertyChanged("version");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class ErrorMessageType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string errorCodeField;
        
        private string descriptionField;
        
        private string stackTraceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string ErrorCode {
            get {
                return this.errorCodeField;
            }
            set {
                this.errorCodeField = value;
                this.RaisePropertyChanged("ErrorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string StackTrace {
            get {
                return this.stackTraceField;
            }
            set {
                this.stackTraceField = value;
                this.RaisePropertyChanged("StackTrace");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class CommonResultType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string gUIDField;
        
        private string transportGUIDField;
        
        private object[] itemsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string GUID {
            get {
                return this.gUIDField;
            }
            set {
                this.gUIDField = value;
                this.RaisePropertyChanged("GUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string TransportGUID {
            get {
                return this.transportGUIDField;
            }
            set {
                this.transportGUIDField = value;
                this.RaisePropertyChanged("TransportGUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Error", typeof(CommonResultTypeError), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("UniqueNumber", typeof(string), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("UpdateDate", typeof(System.DateTime), Order=2)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
    public partial class CommonResultTypeError : ErrorMessageType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class getStateResultPagedOutput : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ExportMeteringDeviceRootGUID", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("LastPage", typeof(bool), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string meteringDeviceRootGUIDField;
        
        private string hCSHouseGUIDField;
        
        private string fIASHouseGuidField;
        
        private object itemField;
        
        private exportMeteringDeviceHistoryResultTypeArchivedValues archivedValuesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string MeteringDeviceRootGUID {
            get {
                return this.meteringDeviceRootGUIDField;
            }
            set {
                this.meteringDeviceRootGUIDField = value;
                this.RaisePropertyChanged("MeteringDeviceRootGUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string HCSHouseGUID {
            get {
                return this.hCSHouseGUIDField;
            }
            set {
                this.hCSHouseGUIDField = value;
                this.RaisePropertyChanged("HCSHouseGUID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string FIASHouseGuid {
            get {
                return this.fIASHouseGuidField;
            }
            set {
                this.fIASHouseGuidField = value;
                this.RaisePropertyChanged("FIASHouseGuid");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ElectricDeviceValue", typeof(exportMeteringDeviceHistoryResultTypeElectricDeviceValue), Order=3)]
        [System.Xml.Serialization.XmlElementAttribute("OneRateDeviceValue", typeof(exportMeteringDeviceHistoryResultTypeOneRateDeviceValue), Order=3)]
        [System.Xml.Serialization.XmlElementAttribute("VolumeDeviceValue", typeof(exportMeteringDeviceHistoryResultTypeVolumeDeviceValue), Order=3)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public exportMeteringDeviceHistoryResultTypeArchivedValues ArchivedValues {
            get {
                return this.archivedValuesField;
            }
            set {
                this.archivedValuesField = value;
                this.RaisePropertyChanged("ArchivedValues");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeElectricDeviceValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ElectricMeteringValueExportType1 baseValueField;
        
        private exportMeteringDeviceHistoryResultTypeElectricDeviceValueValues valuesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public ElectricMeteringValueExportType1 BaseValue {
            get {
                return this.baseValueField;
            }
            set {
                this.baseValueField = value;
                this.RaisePropertyChanged("BaseValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public exportMeteringDeviceHistoryResultTypeElectricDeviceValueValues Values {
            get {
                return this.valuesField;
            }
            set {
                this.valuesField = value;
                this.RaisePropertyChanged("Values");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeElectricDeviceValueValues : object, System.ComponentModel.INotifyPropertyChanged {
        
        private exportMeteringDeviceHistoryResultTypeElectricDeviceValueValuesCurrentValue[] currentValueField;
        
        private ElectricCurrentMeteringValueExportType[] controlValueField;
        
        private exportMeteringDeviceHistoryResultTypeElectricDeviceValueValuesVerificationValue[] verificationValueField;
        
        private bool excludeISValuesField;
        
        private bool excludeISValuesFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CurrentValue", Order=0)]
        public exportMeteringDeviceHistoryResultTypeElectricDeviceValueValuesCurrentValue[] CurrentValue {
            get {
                return this.currentValueField;
            }
            set {
                this.currentValueField = value;
                this.RaisePropertyChanged("CurrentValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ControlValue", Order=1)]
        public ElectricCurrentMeteringValueExportType[] ControlValue {
            get {
                return this.controlValueField;
            }
            set {
                this.controlValueField = value;
                this.RaisePropertyChanged("ControlValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VerificationValue", Order=2)]
        public exportMeteringDeviceHistoryResultTypeElectricDeviceValueValuesVerificationValue[] VerificationValue {
            get {
                return this.verificationValueField;
            }
            set {
                this.verificationValueField = value;
                this.RaisePropertyChanged("VerificationValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public bool excludeISValues {
            get {
                return this.excludeISValuesField;
            }
            set {
                this.excludeISValuesField = value;
                this.RaisePropertyChanged("excludeISValues");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool excludeISValuesSpecified {
            get {
                return this.excludeISValuesFieldSpecified;
            }
            set {
                this.excludeISValuesFieldSpecified = value;
                this.RaisePropertyChanged("excludeISValuesSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeElectricDeviceValueValuesCurrentValue : ElectricCurrentMeteringValueExportType {
        
        private YearMonth periodField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public YearMonth Period {
            get {
                return this.periodField;
            }
            set {
                this.periodField = value;
                this.RaisePropertyChanged("Period");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeElectricDeviceValueValuesVerificationValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime startDateValueField;
        
        private System.DateTime endDateValueField;
        
        private System.DateTime sealDateField;
        
        private ElectricMeteringValueExportType1 startValueField;
        
        private ElectricMeteringValueExportType1 endValueField;
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime StartDateValue {
            get {
                return this.startDateValueField;
            }
            set {
                this.startDateValueField = value;
                this.RaisePropertyChanged("StartDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)]
        public System.DateTime EndDateValue {
            get {
                return this.endDateValueField;
            }
            set {
                this.endDateValueField = value;
                this.RaisePropertyChanged("EndDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=2)]
        public System.DateTime SealDate {
            get {
                return this.sealDateField;
            }
            set {
                this.sealDateField = value;
                this.RaisePropertyChanged("SealDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public ElectricMeteringValueExportType1 StartValue {
            get {
                return this.startValueField;
            }
            set {
                this.startValueField = value;
                this.RaisePropertyChanged("StartValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public ElectricMeteringValueExportType1 EndValue {
            get {
                return this.endValueField;
            }
            set {
                this.endValueField = value;
                this.RaisePropertyChanged("EndValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PlannedVerification", typeof(bool), Order=5)]
        [System.Xml.Serialization.XmlElementAttribute("VerificationReason", typeof(nsiRef), Order=5)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeOneRateDeviceValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private OneRateMeteringValueExportType1[] baseValueField;
        
        private exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValues valuesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BaseValue", Order=0)]
        public OneRateMeteringValueExportType1[] BaseValue {
            get {
                return this.baseValueField;
            }
            set {
                this.baseValueField = value;
                this.RaisePropertyChanged("BaseValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValues Values {
            get {
                return this.valuesField;
            }
            set {
                this.valuesField = value;
                this.RaisePropertyChanged("Values");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValues : object, System.ComponentModel.INotifyPropertyChanged {
        
        private exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValuesCurrentValue[] currentValueField;
        
        private OneRateCurrentMeteringValueExportType[] controlValueField;
        
        private exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValuesVerificationValue[] verificationValueField;
        
        private bool excludeISValuesField;
        
        private bool excludeISValuesFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CurrentValue", Order=0)]
        public exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValuesCurrentValue[] CurrentValue {
            get {
                return this.currentValueField;
            }
            set {
                this.currentValueField = value;
                this.RaisePropertyChanged("CurrentValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ControlValue", Order=1)]
        public OneRateCurrentMeteringValueExportType[] ControlValue {
            get {
                return this.controlValueField;
            }
            set {
                this.controlValueField = value;
                this.RaisePropertyChanged("ControlValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VerificationValue", Order=2)]
        public exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValuesVerificationValue[] VerificationValue {
            get {
                return this.verificationValueField;
            }
            set {
                this.verificationValueField = value;
                this.RaisePropertyChanged("VerificationValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public bool excludeISValues {
            get {
                return this.excludeISValuesField;
            }
            set {
                this.excludeISValuesField = value;
                this.RaisePropertyChanged("excludeISValues");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool excludeISValuesSpecified {
            get {
                return this.excludeISValuesFieldSpecified;
            }
            set {
                this.excludeISValuesFieldSpecified = value;
                this.RaisePropertyChanged("excludeISValuesSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValuesCurrentValue : OneRateCurrentMeteringValueExportType {
        
        private YearMonth periodField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public YearMonth Period {
            get {
                return this.periodField;
            }
            set {
                this.periodField = value;
                this.RaisePropertyChanged("Period");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeOneRateDeviceValueValuesVerificationValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime startDateValueField;
        
        private System.DateTime endDateValueField;
        
        private System.DateTime sealDateField;
        
        private OneRateMeteringValueExportType1[] startValueField;
        
        private OneRateMeteringValueExportType1[] endValueField;
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime StartDateValue {
            get {
                return this.startDateValueField;
            }
            set {
                this.startDateValueField = value;
                this.RaisePropertyChanged("StartDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)]
        public System.DateTime EndDateValue {
            get {
                return this.endDateValueField;
            }
            set {
                this.endDateValueField = value;
                this.RaisePropertyChanged("EndDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=2)]
        public System.DateTime SealDate {
            get {
                return this.sealDateField;
            }
            set {
                this.sealDateField = value;
                this.RaisePropertyChanged("SealDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("StartValue", Order=3)]
        public OneRateMeteringValueExportType1[] StartValue {
            get {
                return this.startValueField;
            }
            set {
                this.startValueField = value;
                this.RaisePropertyChanged("StartValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EndValue", Order=4)]
        public OneRateMeteringValueExportType1[] EndValue {
            get {
                return this.endValueField;
            }
            set {
                this.endValueField = value;
                this.RaisePropertyChanged("EndValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PlannedVerification", typeof(bool), Order=5)]
        [System.Xml.Serialization.XmlElementAttribute("VerificationReason", typeof(nsiRef), Order=5)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeVolumeDeviceValue : VolumeMeteringValueExportType {
        
        private bool excludeISValuesField;
        
        private bool excludeISValuesFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public bool excludeISValues {
            get {
                return this.excludeISValuesField;
            }
            set {
                this.excludeISValuesField = value;
                this.RaisePropertyChanged("excludeISValues");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool excludeISValuesSpecified {
            get {
                return this.excludeISValuesFieldSpecified;
            }
            set {
                this.excludeISValuesFieldSpecified = value;
                this.RaisePropertyChanged("excludeISValuesSpecified");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class VolumeMeteringValueExportType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private VolumeMeteringValueExportTypeCurrentValue[] currentValueField;
        
        private VolumeCurrentMeteringValueExportType[] controlValueField;
        
        private VolumeMeteringValueExportTypeVerificationValue[] verificationValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CurrentValue", Order=0)]
        public VolumeMeteringValueExportTypeCurrentValue[] CurrentValue {
            get {
                return this.currentValueField;
            }
            set {
                this.currentValueField = value;
                this.RaisePropertyChanged("CurrentValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ControlValue", Order=1)]
        public VolumeCurrentMeteringValueExportType[] ControlValue {
            get {
                return this.controlValueField;
            }
            set {
                this.controlValueField = value;
                this.RaisePropertyChanged("ControlValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VerificationValue", Order=2)]
        public VolumeMeteringValueExportTypeVerificationValue[] VerificationValue {
            get {
                return this.verificationValueField;
            }
            set {
                this.verificationValueField = value;
                this.RaisePropertyChanged("VerificationValue");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class VolumeMeteringValueExportTypeCurrentValue : VolumeCurrentMeteringValueExportType {
        
        private YearMonth periodField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public YearMonth Period {
            get {
                return this.periodField;
            }
            set {
                this.periodField = value;
                this.RaisePropertyChanged("Period");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class VolumeMeteringValueExportTypeVerificationValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime startDateValueField;
        
        private System.DateTime endDateValueField;
        
        private System.DateTime sealDateField;
        
        private VolumeMeteringValueExportBaseType[] startValueField;
        
        private VolumeMeteringValueExportBaseType[] endValueField;
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime StartDateValue {
            get {
                return this.startDateValueField;
            }
            set {
                this.startDateValueField = value;
                this.RaisePropertyChanged("StartDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)]
        public System.DateTime EndDateValue {
            get {
                return this.endDateValueField;
            }
            set {
                this.endDateValueField = value;
                this.RaisePropertyChanged("EndDateValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=2)]
        public System.DateTime SealDate {
            get {
                return this.sealDateField;
            }
            set {
                this.sealDateField = value;
                this.RaisePropertyChanged("SealDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("StartValue", Order=3)]
        public VolumeMeteringValueExportBaseType[] StartValue {
            get {
                return this.startValueField;
            }
            set {
                this.startValueField = value;
                this.RaisePropertyChanged("StartValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EndValue", Order=4)]
        public VolumeMeteringValueExportBaseType[] EndValue {
            get {
                return this.endValueField;
            }
            set {
                this.endValueField = value;
                this.RaisePropertyChanged("EndValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PlannedVerification", typeof(bool), Order=5)]
        [System.Xml.Serialization.XmlElementAttribute("VerificationReason", typeof(nsiRef), Order=5)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9032.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/")]
    public partial class exportMeteringDeviceHistoryResultTypeArchivedValues : object, System.ComponentModel.INotifyPropertyChanged {
        
        private nsiRef archivingReasonField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public nsiRef ArchivingReason {
            get {
                return this.archivingReasonField;
            }
            set {
                this.archivingReasonField = value;
                this.RaisePropertyChanged("ArchivingReason");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class getStateRequest1 {
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/", Order=0)]
        public Hcs.Service.Async.DeviceMetering.getStateRequest getStateRequest;
        
        public getStateRequest1() {
        }
        
        public getStateRequest1(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.getStateRequest getStateRequest) {
            this.RequestHeader = RequestHeader;
            this.getStateRequest = getStateRequest;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class getStateResponse {
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/base/")]
        public Hcs.Service.Async.DeviceMetering.ResultHeader ResultHeader;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://dom.gosuslugi.ru/schema/integration/device-metering/", Order=0)]
        public Hcs.Service.Async.DeviceMetering.getStateResult getStateResult;
        
        public getStateResponse() {
        }
        
        public getStateResponse(Hcs.Service.Async.DeviceMetering.ResultHeader ResultHeader, Hcs.Service.Async.DeviceMetering.getStateResult getStateResult) {
            this.ResultHeader = ResultHeader;
            this.getStateResult = getStateResult;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface DeviceMeteringPortTypesAsyncChannel : Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class DeviceMeteringPortTypesAsyncClient : System.ServiceModel.ClientBase<Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync>, Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync {
        
        public DeviceMeteringPortTypesAsyncClient() {
        }
        
        public DeviceMeteringPortTypesAsyncClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public DeviceMeteringPortTypesAsyncClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public DeviceMeteringPortTypesAsyncClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public DeviceMeteringPortTypesAsyncClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesResponse Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync.importMeteringDeviceValues(Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest1 request) {
            return base.Channel.importMeteringDeviceValues(request);
        }
        
        public Hcs.Service.Async.DeviceMetering.ResultHeader importMeteringDeviceValues(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest importMeteringDeviceValuesRequest, out Hcs.Service.Async.DeviceMetering.AckRequest AckRequest) {
            Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest1 inValue = new Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest1();
            inValue.RequestHeader = RequestHeader;
            inValue.importMeteringDeviceValuesRequest = importMeteringDeviceValuesRequest;
            Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesResponse retVal = ((Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync)(this)).importMeteringDeviceValues(inValue);
            AckRequest = retVal.AckRequest;
            return retVal.ResultHeader;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesResponse> Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync.importMeteringDeviceValuesAsync(Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest1 request) {
            return base.Channel.importMeteringDeviceValuesAsync(request);
        }
        
        public System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesResponse> importMeteringDeviceValuesAsync(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest importMeteringDeviceValuesRequest) {
            Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest1 inValue = new Hcs.Service.Async.DeviceMetering.importMeteringDeviceValuesRequest1();
            inValue.RequestHeader = RequestHeader;
            inValue.importMeteringDeviceValuesRequest = importMeteringDeviceValuesRequest;
            return ((Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync)(this)).importMeteringDeviceValuesAsync(inValue);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryResponse Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync.exportMeteringDeviceHistory(Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest1 request) {
            return base.Channel.exportMeteringDeviceHistory(request);
        }
        
        public Hcs.Service.Async.DeviceMetering.ResultHeader exportMeteringDeviceHistory(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest exportMeteringDeviceHistoryRequest, out Hcs.Service.Async.DeviceMetering.AckRequest AckRequest) {
            Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest1 inValue = new Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest1();
            inValue.RequestHeader = RequestHeader;
            inValue.exportMeteringDeviceHistoryRequest = exportMeteringDeviceHistoryRequest;
            Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryResponse retVal = ((Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync)(this)).exportMeteringDeviceHistory(inValue);
            AckRequest = retVal.AckRequest;
            return retVal.ResultHeader;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryResponse> Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync.exportMeteringDeviceHistoryAsync(Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest1 request) {
            return base.Channel.exportMeteringDeviceHistoryAsync(request);
        }
        
        public System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryResponse> exportMeteringDeviceHistoryAsync(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest exportMeteringDeviceHistoryRequest) {
            Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest1 inValue = new Hcs.Service.Async.DeviceMetering.exportMeteringDeviceHistoryRequest1();
            inValue.RequestHeader = RequestHeader;
            inValue.exportMeteringDeviceHistoryRequest = exportMeteringDeviceHistoryRequest;
            return ((Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync)(this)).exportMeteringDeviceHistoryAsync(inValue);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Hcs.Service.Async.DeviceMetering.getStateResponse Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync.getState(Hcs.Service.Async.DeviceMetering.getStateRequest1 request) {
            return base.Channel.getState(request);
        }
        
        public Hcs.Service.Async.DeviceMetering.ResultHeader getState(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.getStateRequest getStateRequest, out Hcs.Service.Async.DeviceMetering.getStateResult getStateResult) {
            Hcs.Service.Async.DeviceMetering.getStateRequest1 inValue = new Hcs.Service.Async.DeviceMetering.getStateRequest1();
            inValue.RequestHeader = RequestHeader;
            inValue.getStateRequest = getStateRequest;
            Hcs.Service.Async.DeviceMetering.getStateResponse retVal = ((Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync)(this)).getState(inValue);
            getStateResult = retVal.getStateResult;
            return retVal.ResultHeader;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.getStateResponse> Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync.getStateAsync(Hcs.Service.Async.DeviceMetering.getStateRequest1 request) {
            return base.Channel.getStateAsync(request);
        }
        
        public System.Threading.Tasks.Task<Hcs.Service.Async.DeviceMetering.getStateResponse> getStateAsync(Hcs.Service.Async.DeviceMetering.RequestHeader RequestHeader, Hcs.Service.Async.DeviceMetering.getStateRequest getStateRequest) {
            Hcs.Service.Async.DeviceMetering.getStateRequest1 inValue = new Hcs.Service.Async.DeviceMetering.getStateRequest1();
            inValue.RequestHeader = RequestHeader;
            inValue.getStateRequest = getStateRequest;
            return ((Hcs.Service.Async.DeviceMetering.DeviceMeteringPortTypesAsync)(this)).getStateAsync(inValue);
        }
    }
}
