//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.34014
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace ipn_sqlclr.Test.policyService {
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy", ConfigurationName="policyService.policy")]
    public interface policy {
        
        // CODEGEN: Generating message contract since the operation requestPolicies is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://schemas.verisign.com/pkiservices/2009/07/policy/getPolicies", ReplyAction="http://schemas.verisign.com/pkiservices/2009/07/policy/getPoliciesResponse")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        ipn_sqlclr.Test.policyService.requestPoliciesResponse requestPolicies(ipn_sqlclr.Test.policyService.requestPoliciesRequest request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class getPolicies : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string versionField;
        
        private string clientTransactionIDField;
        
        private Client clientField;
        
        private RequestFilter requestFilterField;
        
        private bool signResponseField;
        
        private bool signResponseFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
                this.RaisePropertyChanged("version");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
                this.RaisePropertyChanged("clientTransactionID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public Client client {
            get {
                return this.clientField;
            }
            set {
                this.clientField = value;
                this.RaisePropertyChanged("client");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=3)]
        public RequestFilter requestFilter {
            get {
                return this.requestFilterField;
            }
            set {
                this.requestFilterField = value;
                this.RaisePropertyChanged("requestFilter");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public bool signResponse {
            get {
                return this.signResponseField;
            }
            set {
                this.signResponseField = value;
                this.RaisePropertyChanged("signResponse");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool signResponseSpecified {
            get {
                return this.signResponseFieldSpecified;
            }
            set {
                this.signResponseFieldSpecified = value;
                this.RaisePropertyChanged("signResponseSpecified");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class Client : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Nullable<System.DateTime> lastUpdatetimeField;
        
        private string preferredLanguageField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=0)]
        public System.Nullable<System.DateTime> lastUpdatetime {
            get {
                return this.lastUpdatetimeField;
            }
            set {
                this.lastUpdatetimeField = value;
                this.RaisePropertyChanged("lastUpdatetime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="language", IsNullable=true, Order=1)]
        public string preferredLanguage {
            get {
                return this.preferredLanguageField;
            }
            set {
                this.preferredLanguageField = value;
                this.RaisePropertyChanged("preferredLanguage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class OID : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        private int oIDReferenceIDField;
        
        private uint groupField;
        
        private string defaultNameField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public int oIDReferenceID {
            get {
                return this.oIDReferenceIDField;
            }
            set {
                this.oIDReferenceIDField = value;
                this.RaisePropertyChanged("oIDReferenceID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public uint group {
            get {
                return this.groupField;
            }
            set {
                this.groupField = value;
                this.RaisePropertyChanged("group");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=3)]
        public string defaultName {
            get {
                return this.defaultNameField;
            }
            set {
                this.defaultNameField = value;
                this.RaisePropertyChanged("defaultName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=4)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class CA : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] urisField;
        
        private byte[] certificateField;
        
        private string cAIssuerNameField;
        
        private int cAReferenceIDField;
        
        private System.Nullable<CAType> cATypeField;
        
        private byte[][] intermediateCACertificatesField;
        
        private byte[] rootCACertificateField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("uris", DataType="anyURI", Order=0)]
        public string[] uris {
            get {
                return this.urisField;
            }
            set {
                this.urisField = value;
                this.RaisePropertyChanged("uris");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=1)]
        public byte[] certificate {
            get {
                return this.certificateField;
            }
            set {
                this.certificateField = value;
                this.RaisePropertyChanged("certificate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=2)]
        public string cAIssuerName {
            get {
                return this.cAIssuerNameField;
            }
            set {
                this.cAIssuerNameField = value;
                this.RaisePropertyChanged("cAIssuerName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public int cAReferenceID {
            get {
                return this.cAReferenceIDField;
            }
            set {
                this.cAReferenceIDField = value;
                this.RaisePropertyChanged("cAReferenceID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=4)]
        public System.Nullable<CAType> cAType {
            get {
                return this.cATypeField;
            }
            set {
                this.cATypeField = value;
                this.RaisePropertyChanged("cAType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("intermediateCACertificates", DataType="base64Binary", Order=5)]
        public byte[][] intermediateCACertificates {
            get {
                return this.intermediateCACertificatesField;
            }
            set {
                this.intermediateCACertificatesField = value;
                this.RaisePropertyChanged("intermediateCACertificates");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=6)]
        public byte[] rootCACertificate {
            get {
                return this.rootCACertificateField;
            }
            set {
                this.rootCACertificateField = value;
                this.RaisePropertyChanged("rootCACertificate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=7)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public enum CAType {
        
        /// <remarks/>
        @public,
        
        /// <remarks/>
        @private,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class MigrationOIDCollection : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] migratedFromOIDField;
        
        private string migratedToOIDField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("migratedFromOID", Order=0)]
        public string[] migratedFromOID {
            get {
                return this.migratedFromOIDField;
            }
            set {
                this.migratedFromOIDField = value;
                this.RaisePropertyChanged("migratedFromOID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=1)]
        public string migratedToOID {
            get {
                return this.migratedToOIDField;
            }
            set {
                this.migratedToOIDField = value;
                this.RaisePropertyChanged("migratedToOID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class ApplicationInstructionsType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string fileContentTypeField;
        
        private string urlField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string fileContentType {
            get {
                return this.fileContentTypeField;
            }
            set {
                this.fileContentTypeField = value;
                this.RaisePropertyChanged("fileContentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI", Order=1)]
        public string url {
            get {
                return this.urlField;
            }
            set {
                this.urlField = value;
                this.RaisePropertyChanged("url");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class SeatInfoType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AttributeValueType attributeNameValueField;
        
        private AttributeNameValuePropertyType attributeNameValuePropertyField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public AttributeValueType attributeNameValue {
            get {
                return this.attributeNameValueField;
            }
            set {
                this.attributeNameValueField = value;
                this.RaisePropertyChanged("attributeNameValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public AttributeNameValuePropertyType attributeNameValueProperty {
            get {
                return this.attributeNameValuePropertyField;
            }
            set {
                this.attributeNameValuePropertyField = value;
                this.RaisePropertyChanged("attributeNameValueProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class AttributeValueType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool mandatoryField;
        
        private bool mandatoryFieldSpecified;
        
        private string typeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool mandatory {
            get {
                return this.mandatoryField;
            }
            set {
                this.mandatoryField = value;
                this.RaisePropertyChanged("mandatory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool mandatorySpecified {
            get {
                return this.mandatoryFieldSpecified;
            }
            set {
                this.mandatoryFieldSpecified = value;
                this.RaisePropertyChanged("mandatorySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string 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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class AttributeNameValuePropertyType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        private string sourceField;
        
        private string sourceAttributeNameField;
        
        private System.Nullable<bool> mandatoryField;
        
        private System.Nullable<bool> overridableField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=0)]
        public string value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string source {
            get {
                return this.sourceField;
            }
            set {
                this.sourceField = value;
                this.RaisePropertyChanged("source");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string sourceAttributeName {
            get {
                return this.sourceAttributeNameField;
            }
            set {
                this.sourceAttributeNameField = value;
                this.RaisePropertyChanged("sourceAttributeName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=3)]
        public System.Nullable<bool> mandatory {
            get {
                return this.mandatoryField;
            }
            set {
                this.mandatoryField = value;
                this.RaisePropertyChanged("mandatory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=4)]
        public System.Nullable<bool> overridable {
            get {
                return this.overridableField;
            }
            set {
                this.overridableField = value;
                this.RaisePropertyChanged("overridable");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class PollingTimeType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int nextUpdateHoursField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public int nextUpdateHours {
            get {
                return this.nextUpdateHoursField;
            }
            set {
                this.nextUpdateHoursField = value;
                this.RaisePropertyChanged("nextUpdateHours");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class PollingPolicyType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PollingTimeType gatewayPollingTimeField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public PollingTimeType gatewayPollingTime {
            get {
                return this.gatewayPollingTimeField;
            }
            set {
                this.gatewayPollingTimeField = value;
                this.RaisePropertyChanged("gatewayPollingTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class DirectoryInfoType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string directoryTypeField;
        
        private string domainNameField;
        
        private string itemField;
        
        private ItemChoiceType itemElementNameField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string directoryType {
            get {
                return this.directoryTypeField;
            }
            set {
                this.directoryTypeField = value;
                this.RaisePropertyChanged("directoryType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string domainName {
            get {
                return this.domainNameField;
            }
            set {
                this.domainNameField = value;
                this.RaisePropertyChanged("domainName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("hostName", typeof(string), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("ipAddress", typeof(string), Order=2)]
        [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=3)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
                this.RaisePropertyChanged("ItemElementName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=4)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy", IncludeInSchema=false)]
    public enum ItemChoiceType {
        
        /// <remarks/>
        hostName,
        
        /// <remarks/>
        ipAddress,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class AuthorizationInfoType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] userAuthorizationCollectionField;
        
        private DirectoryInfoType directoryInfoField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("authorizedGroup", IsNullable=false)]
        public string[] userAuthorizationCollection {
            get {
                return this.userAuthorizationCollectionField;
            }
            set {
                this.userAuthorizationCollectionField = value;
                this.RaisePropertyChanged("userAuthorizationCollection");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=1)]
        public DirectoryInfoType directoryInfo {
            get {
                return this.directoryInfoField;
            }
            set {
                this.directoryInfoField = value;
                this.RaisePropertyChanged("directoryInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class RAPolicy : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool registerUserField;
        
        private bool verifyUserField;
        
        private PublishCert publishCertField;
        
        private AuthorizationInfoType[] authorizationInfoField;
        
        private PollingPolicyType pollingPolicyField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public bool registerUser {
            get {
                return this.registerUserField;
            }
            set {
                this.registerUserField = value;
                this.RaisePropertyChanged("registerUser");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public bool verifyUser {
            get {
                return this.verifyUserField;
            }
            set {
                this.verifyUserField = value;
                this.RaisePropertyChanged("verifyUser");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public PublishCert publishCert {
            get {
                return this.publishCertField;
            }
            set {
                this.publishCertField = value;
                this.RaisePropertyChanged("publishCert");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("authorizationInfo", Order=3)]
        public AuthorizationInfoType[] authorizationInfo {
            get {
                return this.authorizationInfoField;
            }
            set {
                this.authorizationInfoField = value;
                this.RaisePropertyChanged("authorizationInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=4)]
        public PollingPolicyType pollingPolicy {
            get {
                return this.pollingPolicyField;
            }
            set {
                this.pollingPolicyField = value;
                this.RaisePropertyChanged("pollingPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=5)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public enum PublishCert {
        
        /// <remarks/>
        yes,
        
        /// <remarks/>
        no,
        
        /// <remarks/>
        clientProvided,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class ServiceEndpointType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string endpointURIField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI", Order=1)]
        public string endpointURI {
            get {
                return this.endpointURIField;
            }
            set {
                this.endpointURIField = value;
                this.RaisePropertyChanged("endpointURI");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class PersonalInfoType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string nameField;
        
        private string emailField;
        
        private string phoneField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
                this.RaisePropertyChanged("email");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=2)]
        public string phone {
            get {
                return this.phoneField;
            }
            set {
                this.phoneField = value;
                this.RaisePropertyChanged("phone");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=3)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class SystemInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AttributeNameValuePairType[] searchCertificateDataField;
        
        private PublishCert cACertPublishField;
        
        private bool cACertPublishFieldSpecified;
        
        private CACertPublishNameValuePair cACertPublishNameValuePairField;
        
        private bool cACertPublishNameValuePairFieldSpecified;
        
        private DeliveryFormat certificateDeliveryFormatField;
        
        private PersonalInfoType adminInfoField;
        
        private ServiceEndpointType[] serviceEndpointListField;
        
        private string duplicateCertPolicyField;
        
        private string supersededPolicyOIDField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("searchAttributeNameValuePair", IsNullable=false)]
        public AttributeNameValuePairType[] searchCertificateData {
            get {
                return this.searchCertificateDataField;
            }
            set {
                this.searchCertificateDataField = value;
                this.RaisePropertyChanged("searchCertificateData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public PublishCert cACertPublish {
            get {
                return this.cACertPublishField;
            }
            set {
                this.cACertPublishField = value;
                this.RaisePropertyChanged("cACertPublish");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool cACertPublishSpecified {
            get {
                return this.cACertPublishFieldSpecified;
            }
            set {
                this.cACertPublishFieldSpecified = value;
                this.RaisePropertyChanged("cACertPublishSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public CACertPublishNameValuePair cACertPublishNameValuePair {
            get {
                return this.cACertPublishNameValuePairField;
            }
            set {
                this.cACertPublishNameValuePairField = value;
                this.RaisePropertyChanged("cACertPublishNameValuePair");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool cACertPublishNameValuePairSpecified {
            get {
                return this.cACertPublishNameValuePairFieldSpecified;
            }
            set {
                this.cACertPublishNameValuePairFieldSpecified = value;
                this.RaisePropertyChanged("cACertPublishNameValuePairSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public DeliveryFormat certificateDeliveryFormat {
            get {
                return this.certificateDeliveryFormatField;
            }
            set {
                this.certificateDeliveryFormatField = value;
                this.RaisePropertyChanged("certificateDeliveryFormat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public PersonalInfoType adminInfo {
            get {
                return this.adminInfoField;
            }
            set {
                this.adminInfoField = value;
                this.RaisePropertyChanged("adminInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true, Order=5)]
        [System.Xml.Serialization.XmlArrayItemAttribute("serviceEndpoint", IsNullable=false)]
        public ServiceEndpointType[] serviceEndpointList {
            get {
                return this.serviceEndpointListField;
            }
            set {
                this.serviceEndpointListField = value;
                this.RaisePropertyChanged("serviceEndpointList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=6)]
        public string duplicateCertPolicy {
            get {
                return this.duplicateCertPolicyField;
            }
            set {
                this.duplicateCertPolicyField = value;
                this.RaisePropertyChanged("duplicateCertPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=7)]
        public string supersededPolicyOID {
            get {
                return this.supersededPolicyOIDField;
            }
            set {
                this.supersededPolicyOIDField = value;
                this.RaisePropertyChanged("supersededPolicyOID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=8)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class AttributeNameValuePairType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string attributeNameField;
        
        private AttributeValueType attributeNameValueField;
        
        private AttributeNameValuePropertyType attributeNameValuePropertyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string attributeName {
            get {
                return this.attributeNameField;
            }
            set {
                this.attributeNameField = value;
                this.RaisePropertyChanged("attributeName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=1)]
        public AttributeValueType attributeNameValue {
            get {
                return this.attributeNameValueField;
            }
            set {
                this.attributeNameValueField = value;
                this.RaisePropertyChanged("attributeNameValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public AttributeNameValuePropertyType attributeNameValueProperty {
            get {
                return this.attributeNameValuePropertyField;
            }
            set {
                this.attributeNameValuePropertyField = value;
                this.RaisePropertyChanged("attributeNameValueProperty");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public enum CACertPublishNameValuePair {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("$publish_flag")]
        publish_flag,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public enum DeliveryFormat {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X5" +
            "09v3")]
        httpdocsoasisopenorgwss200401oasis200401wssx509tokenprofile10X509v3,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PK" +
            "CS7")]
        httpdocsoasisopenorgwss200401oasis200401wssx509tokenprofile10PKCS7,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("http://schemas.verisign.com/pkiservices/2009/07/PKCS12")]
        httpschemasverisigncompkiservices200907PKCS12,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class ClientPolicy : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string clientNameField;
        
        private int maxPinLengthField;
        
        private bool maxPinLengthFieldSpecified;
        
        private int minPinLengthField;
        
        private bool minPinLengthFieldSpecified;
        
        private int noOfBadAttemptsField;
        
        private bool noOfBadAttemptsFieldSpecified;
        
        private int certRenewalOverlapField;
        
        private bool certRenewalOverlapFieldSpecified;
        
        private bool renewExpiredCertsField;
        
        private bool renewExpiredCertsFieldSpecified;
        
        private string certRenewalMsgField;
        
        private bool certCleanUpField;
        
        private bool certCleanUpFieldSpecified;
        
        private PublishCert certPublishField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string clientName {
            get {
                return this.clientNameField;
            }
            set {
                this.clientNameField = value;
                this.RaisePropertyChanged("clientName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public int maxPinLength {
            get {
                return this.maxPinLengthField;
            }
            set {
                this.maxPinLengthField = value;
                this.RaisePropertyChanged("maxPinLength");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxPinLengthSpecified {
            get {
                return this.maxPinLengthFieldSpecified;
            }
            set {
                this.maxPinLengthFieldSpecified = value;
                this.RaisePropertyChanged("maxPinLengthSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public int minPinLength {
            get {
                return this.minPinLengthField;
            }
            set {
                this.minPinLengthField = value;
                this.RaisePropertyChanged("minPinLength");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool minPinLengthSpecified {
            get {
                return this.minPinLengthFieldSpecified;
            }
            set {
                this.minPinLengthFieldSpecified = value;
                this.RaisePropertyChanged("minPinLengthSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public int noOfBadAttempts {
            get {
                return this.noOfBadAttemptsField;
            }
            set {
                this.noOfBadAttemptsField = value;
                this.RaisePropertyChanged("noOfBadAttempts");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool noOfBadAttemptsSpecified {
            get {
                return this.noOfBadAttemptsFieldSpecified;
            }
            set {
                this.noOfBadAttemptsFieldSpecified = value;
                this.RaisePropertyChanged("noOfBadAttemptsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public int certRenewalOverlap {
            get {
                return this.certRenewalOverlapField;
            }
            set {
                this.certRenewalOverlapField = value;
                this.RaisePropertyChanged("certRenewalOverlap");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool certRenewalOverlapSpecified {
            get {
                return this.certRenewalOverlapFieldSpecified;
            }
            set {
                this.certRenewalOverlapFieldSpecified = value;
                this.RaisePropertyChanged("certRenewalOverlapSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public bool renewExpiredCerts {
            get {
                return this.renewExpiredCertsField;
            }
            set {
                this.renewExpiredCertsField = value;
                this.RaisePropertyChanged("renewExpiredCerts");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool renewExpiredCertsSpecified {
            get {
                return this.renewExpiredCertsFieldSpecified;
            }
            set {
                this.renewExpiredCertsFieldSpecified = value;
                this.RaisePropertyChanged("renewExpiredCertsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public string certRenewalMsg {
            get {
                return this.certRenewalMsgField;
            }
            set {
                this.certRenewalMsgField = value;
                this.RaisePropertyChanged("certRenewalMsg");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public bool certCleanUp {
            get {
                return this.certCleanUpField;
            }
            set {
                this.certCleanUpField = value;
                this.RaisePropertyChanged("certCleanUp");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool certCleanUpSpecified {
            get {
                return this.certCleanUpFieldSpecified;
            }
            set {
                this.certCleanUpFieldSpecified = value;
                this.RaisePropertyChanged("certCleanUpSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public PublishCert certPublish {
            get {
                return this.certPublishField;
            }
            set {
                this.certPublishField = value;
                this.RaisePropertyChanged("certPublish");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=9)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class KeyEscrowPolicyType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool keyEscrowEnabledField;
        
        private bool keyRecoveryDualAdminApprovalRequiredField;
        
        private bool keyRecoveryDualAdminApprovalRequiredFieldSpecified;
        
        private string keyEscrowDeploymentModeField;
        
        private System.Nullable<bool> doKeyRecoveryForAdditionalEnrollRequestField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public bool keyEscrowEnabled {
            get {
                return this.keyEscrowEnabledField;
            }
            set {
                this.keyEscrowEnabledField = value;
                this.RaisePropertyChanged("keyEscrowEnabled");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public bool keyRecoveryDualAdminApprovalRequired {
            get {
                return this.keyRecoveryDualAdminApprovalRequiredField;
            }
            set {
                this.keyRecoveryDualAdminApprovalRequiredField = value;
                this.RaisePropertyChanged("keyRecoveryDualAdminApprovalRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool keyRecoveryDualAdminApprovalRequiredSpecified {
            get {
                return this.keyRecoveryDualAdminApprovalRequiredFieldSpecified;
            }
            set {
                this.keyRecoveryDualAdminApprovalRequiredFieldSpecified = value;
                this.RaisePropertyChanged("keyRecoveryDualAdminApprovalRequiredSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=2)]
        public string keyEscrowDeploymentMode {
            get {
                return this.keyEscrowDeploymentModeField;
            }
            set {
                this.keyEscrowDeploymentModeField = value;
                this.RaisePropertyChanged("keyEscrowDeploymentMode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=3)]
        public System.Nullable<bool> doKeyRecoveryForAdditionalEnrollRequest {
            get {
                return this.doKeyRecoveryForAdditionalEnrollRequestField;
            }
            set {
                this.doKeyRecoveryForAdditionalEnrollRequestField = value;
                this.RaisePropertyChanged("doKeyRecoveryForAdditionalEnrollRequest");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=4)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class PrivateKeyInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int keysizeField;
        
        private KeyEscrowPolicyType keyEscrowPolicyField;
        
        private bool keyexportableField;
        
        private bool keyprotectField;
        
        private bool keyprotectFieldSpecified;
        
        private System.Nullable<int> algorithmOIDReferenceField;
        
        private string[] cryptoProvidersField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public int keysize {
            get {
                return this.keysizeField;
            }
            set {
                this.keysizeField = value;
                this.RaisePropertyChanged("keysize");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public KeyEscrowPolicyType keyEscrowPolicy {
            get {
                return this.keyEscrowPolicyField;
            }
            set {
                this.keyEscrowPolicyField = value;
                this.RaisePropertyChanged("keyEscrowPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public bool keyexportable {
            get {
                return this.keyexportableField;
            }
            set {
                this.keyexportableField = value;
                this.RaisePropertyChanged("keyexportable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public bool keyprotect {
            get {
                return this.keyprotectField;
            }
            set {
                this.keyprotectField = value;
                this.RaisePropertyChanged("keyprotect");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool keyprotectSpecified {
            get {
                return this.keyprotectFieldSpecified;
            }
            set {
                this.keyprotectFieldSpecified = value;
                this.RaisePropertyChanged("keyprotectSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=4)]
        public System.Nullable<int> algorithmOIDReference {
            get {
                return this.algorithmOIDReferenceField;
            }
            set {
                this.algorithmOIDReferenceField = value;
                this.RaisePropertyChanged("algorithmOIDReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true, Order=5)]
        [System.Xml.Serialization.XmlArrayItemAttribute("provider", IsNullable=false)]
        public string[] cryptoProviders {
            get {
                return this.cryptoProvidersField;
            }
            set {
                this.cryptoProvidersField = value;
                this.RaisePropertyChanged("cryptoProviders");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class extensionValueType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool mandatoryField;
        
        private bool mandatoryFieldSpecified;
        
        private string typeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool mandatory {
            get {
                return this.mandatoryField;
            }
            set {
                this.mandatoryField = value;
                this.RaisePropertyChanged("mandatory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool mandatorySpecified {
            get {
                return this.mandatoryFieldSpecified;
            }
            set {
                this.mandatoryFieldSpecified = value;
                this.RaisePropertyChanged("mandatorySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string 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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class extensionSyntax : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("extensionAttributeNameValuePair", typeof(AttributeNameValuePairType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("extensionValue", typeof(extensionValueType), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class Extension : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int extensionOIDReferenceField;
        
        private bool extensionCriticalFlagField;
        
        private extensionSyntax extensionSyntaxField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public int extensionOIDReference {
            get {
                return this.extensionOIDReferenceField;
            }
            set {
                this.extensionOIDReferenceField = value;
                this.RaisePropertyChanged("extensionOIDReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public bool extensionCriticalFlag {
            get {
                return this.extensionCriticalFlagField;
            }
            set {
                this.extensionCriticalFlagField = value;
                this.RaisePropertyChanged("extensionCriticalFlag");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=2)]
        public extensionSyntax extensionSyntax {
            get {
                return this.extensionSyntaxField;
            }
            set {
                this.extensionSyntaxField = value;
                this.RaisePropertyChanged("extensionSyntax");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class subjectNameAttribute : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Nullable<int> subjectNameAttributecountField;
        
        private AttributeNameValuePairType[] subjectNameAttributeNameValuePairField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=0)]
        public System.Nullable<int> subjectNameAttributecount {
            get {
                return this.subjectNameAttributecountField;
            }
            set {
                this.subjectNameAttributecountField = value;
                this.RaisePropertyChanged("subjectNameAttributecount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("subjectNameAttributeNameValuePair", Order=1)]
        public AttributeNameValuePairType[] subjectNameAttributeNameValuePair {
            get {
                return this.subjectNameAttributeNameValuePairField;
            }
            set {
                this.subjectNameAttributeNameValuePairField = value;
                this.RaisePropertyChanged("subjectNameAttributeNameValuePair");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class subjectName : object, System.ComponentModel.INotifyPropertyChanged {
        
        private subjectNameAttribute[] subjectNameAttributeField;
        
        private bool overrideSubjectNameFormatField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("subjectNameAttribute", Order=0)]
        public subjectNameAttribute[] subjectNameAttribute {
            get {
                return this.subjectNameAttributeField;
            }
            set {
                this.subjectNameAttributeField = value;
                this.RaisePropertyChanged("subjectNameAttribute");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public bool overrideSubjectNameFormat {
            get {
                return this.overrideSubjectNameFormatField;
            }
            set {
                this.overrideSubjectNameFormatField = value;
                this.RaisePropertyChanged("overrideSubjectNameFormat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class OverrideValidity : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool overrideFlagField;
        
        private bool overrideFlagFieldSpecified;
        
        private validityNameValuePairNames[] overrideNameValuePairField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public bool overrideFlag {
            get {
                return this.overrideFlagField;
            }
            set {
                this.overrideFlagField = value;
                this.RaisePropertyChanged("overrideFlag");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool overrideFlagSpecified {
            get {
                return this.overrideFlagFieldSpecified;
            }
            set {
                this.overrideFlagFieldSpecified = value;
                this.RaisePropertyChanged("overrideFlagSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("overrideNameValuePair", Order=1)]
        public validityNameValuePairNames[] overrideNameValuePair {
            get {
                return this.overrideNameValuePairField;
            }
            set {
                this.overrideNameValuePairField = value;
                this.RaisePropertyChanged("overrideNameValuePair");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public enum validityNameValuePairNames {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("$overrideValidityDays")]
        overrideValidityDays,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("$overrideValidityStartDate")]
        overrideValidityStartDate,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("$overrideValidityEndDate")]
        overrideValidityEndDate,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class CertificateValidity : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ulong validityPeriodDaysField;
        
        private ulong renewalPeriodDaysField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public ulong validityPeriodDays {
            get {
                return this.validityPeriodDaysField;
            }
            set {
                this.validityPeriodDaysField = value;
                this.RaisePropertyChanged("validityPeriodDays");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public ulong renewalPeriodDays {
            get {
                return this.renewalPeriodDaysField;
            }
            set {
                this.renewalPeriodDaysField = value;
                this.RaisePropertyChanged("renewalPeriodDays");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class Attributes : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int policySchemaField;
        
        private CertificateValidity certificateValidityField;
        
        private OverrideValidity certificateOverrideValidityField;
        
        private subjectName subjectNameInfoField;
        
        private Extension[] extensionsField;
        
        private PrivateKeyInfo privateKeyAttributesField;
        
        private ClientPolicy clientPolicyField;
        
        private SystemInformation systemInfoField;
        
        private RAPolicy rAPolicyField;
        
        private SeatInfoType seatIdInfoField;
        
        private ApplicationInstructionsType applicationInstructionsField;
        
        private string deploymentModeField;
        
        private string statusField;
        
        private MigrationOIDCollection migrationOIDsField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public int policySchema {
            get {
                return this.policySchemaField;
            }
            set {
                this.policySchemaField = value;
                this.RaisePropertyChanged("policySchema");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public CertificateValidity certificateValidity {
            get {
                return this.certificateValidityField;
            }
            set {
                this.certificateValidityField = value;
                this.RaisePropertyChanged("certificateValidity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public OverrideValidity certificateOverrideValidity {
            get {
                return this.certificateOverrideValidityField;
            }
            set {
                this.certificateOverrideValidityField = value;
                this.RaisePropertyChanged("certificateOverrideValidity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=3)]
        public subjectName subjectNameInfo {
            get {
                return this.subjectNameInfoField;
            }
            set {
                this.subjectNameInfoField = value;
                this.RaisePropertyChanged("subjectNameInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true, Order=4)]
        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
        public Extension[] extensions {
            get {
                return this.extensionsField;
            }
            set {
                this.extensionsField = value;
                this.RaisePropertyChanged("extensions");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public PrivateKeyInfo privateKeyAttributes {
            get {
                return this.privateKeyAttributesField;
            }
            set {
                this.privateKeyAttributesField = value;
                this.RaisePropertyChanged("privateKeyAttributes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=6)]
        public ClientPolicy clientPolicy {
            get {
                return this.clientPolicyField;
            }
            set {
                this.clientPolicyField = value;
                this.RaisePropertyChanged("clientPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public SystemInformation systemInfo {
            get {
                return this.systemInfoField;
            }
            set {
                this.systemInfoField = value;
                this.RaisePropertyChanged("systemInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=8)]
        public RAPolicy rAPolicy {
            get {
                return this.rAPolicyField;
            }
            set {
                this.rAPolicyField = value;
                this.RaisePropertyChanged("rAPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=9)]
        public SeatInfoType seatIdInfo {
            get {
                return this.seatIdInfoField;
            }
            set {
                this.seatIdInfoField = value;
                this.RaisePropertyChanged("seatIdInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=10)]
        public ApplicationInstructionsType applicationInstructions {
            get {
                return this.applicationInstructionsField;
            }
            set {
                this.applicationInstructionsField = value;
                this.RaisePropertyChanged("applicationInstructions");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=11)]
        public string deploymentMode {
            get {
                return this.deploymentModeField;
            }
            set {
                this.deploymentModeField = value;
                this.RaisePropertyChanged("deploymentMode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=12)]
        public string status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=13)]
        public MigrationOIDCollection migrationOIDs {
            get {
                return this.migrationOIDsField;
            }
            set {
                this.migrationOIDsField = value;
                this.RaisePropertyChanged("migrationOIDs");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=14)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class CertificateEnrollmentPolicy : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int policyOIDReferenceField;
        
        private int[] cAsField;
        
        private Attributes attributesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public int policyOIDReference {
            get {
                return this.policyOIDReferenceField;
            }
            set {
                this.policyOIDReferenceField = value;
                this.RaisePropertyChanged("policyOIDReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=1)]
        [System.Xml.Serialization.XmlArrayItemAttribute("cAReference", IsNullable=false)]
        public int[] cAs {
            get {
                return this.cAsField;
            }
            set {
                this.cAsField = value;
                this.RaisePropertyChanged("cAs");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public Attributes attributes {
            get {
                return this.attributesField;
            }
            set {
                this.attributesField = value;
                this.RaisePropertyChanged("attributes");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class Response : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string policyIDField;
        
        private string policyFriendlyNameField;
        
        private System.Nullable<uint> nextUpdateHoursField;
        
        private bool policiesNotChangedField;
        
        private CertificateEnrollmentPolicy[] policiesField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string policyID {
            get {
                return this.policyIDField;
            }
            set {
                this.policyIDField = value;
                this.RaisePropertyChanged("policyID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string policyFriendlyName {
            get {
                return this.policyFriendlyNameField;
            }
            set {
                this.policyFriendlyNameField = value;
                this.RaisePropertyChanged("policyFriendlyName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true, Order=2)]
        public System.Nullable<uint> nextUpdateHours {
            get {
                return this.nextUpdateHoursField;
            }
            set {
                this.nextUpdateHoursField = value;
                this.RaisePropertyChanged("nextUpdateHours");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public bool policiesNotChanged {
            get {
                return this.policiesNotChangedField;
            }
            set {
                this.policiesNotChangedField = value;
                this.RaisePropertyChanged("policiesNotChanged");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true, Order=4)]
        [System.Xml.Serialization.XmlArrayItemAttribute("policy", IsNullable=false)]
        public CertificateEnrollmentPolicy[] policies {
            get {
                return this.policiesField;
            }
            set {
                this.policiesField = value;
                this.RaisePropertyChanged("policies");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=5)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class RequestFilter : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] policyIDsField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true, Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("oid", IsNullable=false)]
        public string[] policyIDs {
            get {
                return this.policyIDsField;
            }
            set {
                this.policyIDsField = value;
                this.RaisePropertyChanged("policyIDs");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        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.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy")]
    public partial class getPoliciesResponse : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string clientTransactionIDField;
        
        private string serverTransactionIDField;
        
        private Response responseField;
        
        private CA[] cAsField;
        
        private OID[] oIDsField;
        
        private byte[] signedEnrollmentPolicyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
                this.RaisePropertyChanged("clientTransactionID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string serverTransactionID {
            get {
                return this.serverTransactionIDField;
            }
            set {
                this.serverTransactionIDField = value;
                this.RaisePropertyChanged("serverTransactionID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public Response response {
            get {
                return this.responseField;
            }
            set {
                this.responseField = value;
                this.RaisePropertyChanged("response");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true, Order=3)]
        [System.Xml.Serialization.XmlArrayItemAttribute("cA", IsNullable=false)]
        public CA[] cAs {
            get {
                return this.cAsField;
            }
            set {
                this.cAsField = value;
                this.RaisePropertyChanged("cAs");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true, Order=4)]
        [System.Xml.Serialization.XmlArrayItemAttribute("oID", IsNullable=false)]
        public OID[] oIDs {
            get {
                return this.oIDsField;
            }
            set {
                this.oIDsField = value;
                this.RaisePropertyChanged("oIDs");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=5)]
        public byte[] signedEnrollmentPolicy {
            get {
                return this.signedEnrollmentPolicyField;
            }
            set {
                this.signedEnrollmentPolicyField = value;
                this.RaisePropertyChanged("signedEnrollmentPolicy");
            }
        }
        
        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 requestPoliciesRequest {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy", Order=0)]
        public ipn_sqlclr.Test.policyService.getPolicies getPolicies;
        
        public requestPoliciesRequest() {
        }
        
        public requestPoliciesRequest(ipn_sqlclr.Test.policyService.getPolicies getPolicies) {
            this.getPolicies = getPolicies;
        }
    }
    
    [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 requestPoliciesResponse {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/policy", Order=0)]
        public ipn_sqlclr.Test.policyService.getPoliciesResponse getPoliciesResponse;
        
        public requestPoliciesResponse() {
        }
        
        public requestPoliciesResponse(ipn_sqlclr.Test.policyService.getPoliciesResponse getPoliciesResponse) {
            this.getPoliciesResponse = getPoliciesResponse;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface policyChannel : ipn_sqlclr.Test.policyService.policy, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class policyClient : System.ServiceModel.ClientBase<ipn_sqlclr.Test.policyService.policy>, ipn_sqlclr.Test.policyService.policy {
        
        public policyClient() {
        }
        
        public policyClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public policyClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public policyClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public policyClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        ipn_sqlclr.Test.policyService.requestPoliciesResponse ipn_sqlclr.Test.policyService.policy.requestPolicies(ipn_sqlclr.Test.policyService.requestPoliciesRequest request) {
            return base.Channel.requestPolicies(request);
        }
        
        public ipn_sqlclr.Test.policyService.getPoliciesResponse requestPolicies(ipn_sqlclr.Test.policyService.getPolicies getPolicies) {
            ipn_sqlclr.Test.policyService.requestPoliciesRequest inValue = new ipn_sqlclr.Test.policyService.requestPoliciesRequest();
            inValue.getPolicies = getPolicies;
            ipn_sqlclr.Test.policyService.requestPoliciesResponse retVal = ((ipn_sqlclr.Test.policyService.policy)(this)).requestPolicies(inValue);
            return retVal.getPoliciesResponse;
        }
    }
}
