#e=      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None ,.HUVX&aLDAPv3.Constraint encoding type-level invariants for LDAPv3.Constraint encoding type-level invariants for LDAPv3Signed integer sub-typeNOTEy: Due to lack of negative type-level integer literals the lower bound is negated, i.e. it expresses a negative magnitudeLDAPv3Unsigned integer sub-typeLDAPv3*Coerce integer sub-type into its base-typeLDAPv3*Coerce integer sub-type into its base-typeLDAPv3#Try to coerce a base-type into its  sub-typeIf out of range,  A or  B will be returned respectively.LDAPv3#Try to coerce a base-type into its  sub-typeIf out of range,  A or  B will be returned.None"#,.>HMUVX_( LDAPv3Type-level promoted LDAPv3 ASN.1 TagNone"#,.478=>?@AHMUVX_3LDAPv3Helper representing a BOOLEAN DEFAULT (TRUE|FALSE) ASN.1 type annotation LDAPv3ASN.1 NULL type LDAPv3ASN.1 SET OF type LDAPv3ASN.1 SET SIZE (1..MAX) OF typeLDAPv3ASN.1  OCTET STRING typeLDAPv3ASN.1 CHOICE AnnotationLDAPv3ASN.1  COMPONENTS OF AnnotationLDAPv3ASN.1  ENUMERATED AnnotationLDAPv3ASN.1 EXPLICIT AnnotationLDAPv3ASN.1 IMPLICIT AnnotationLDAPv3Test whether it's a  /  decoderLDAPv3Test whether decoder ist  monomorphicC. In case of a monomorphic decoder, returns the single tag matched.LDAPv3Only for non-sparse sLDAPv3CHOICE joinLDAPv3denotes NULLLDAPv3 SEQUENCE SIZE (1..MAX) OF<      !"#$%&'()*+,-./0123None.78UVR[LDAPv3ASN.1 UniversalString 8UniversalString ::= [UNIVERSAL 28] IMPLICIT OCTET STRINGNB: The surrogate-pair range U+D800 through U+DFFF is tolerated and thus becomes the responsibility of code converting to and from LDAPv3ASN.1 BMPString 2BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING|NB: The surrogate-pair range U+D800 through U+DFFF is tolerated and thus the responsibility of code converting to and from LDAPv3ASN.1 IA5String 2IA5String ::= [UNIVERSAL 22] IMPLICIT OCTET STRINGLDAPv3ASN.1 VisibleString 6VisibleString ::= [UNIVERSAL 26] IMPLICIT OCTET STRINGLDAPv3ASN.1 NumericString 6NumericString ::= [UNIVERSAL 18] IMPLICIT OCTET STRINGLDAPv3ASN.1 PrintableString 8PrintableString ::= [UNIVERSAL 19] IMPLICIT OCTET STRINGLDAPv3ASN.1 UTF8String 3UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRINGLDAPv3NConvenient Sum-type combining a subset of the standard ASN.1 string-like typesSee specific string types in LDAPv3.ASN1String for details.!LDAPv39Typeclass abstracting over common ASN.1 string operations"LDAPv34Decode ASN.1 string type from its ASN.1 BER encoding#LDAPv32Encode ASN.1 string type to its ASN.1 BER encoding$LDAPv3aPredicate for determining whether given code-point is allowed by the respective ASN.1 string type%LDAPv30Convert ASN.1 string type to list of code-points&LDAPv34Construct ASN.1 string type from list of code-points This returns I if a code-point cannot be expressed in the respective ASN.1 string type.'LDAPv34Encode ASN.1 string choice to its ASN.1 BER encoding(LDAPv36Decode ASN.1 string choice from its ASN.1 BER encoding3LDAPv3Encodes as ASN.1 BER7LDAPv3Encodes as ASN.1 BER;LDAPv3Encodes as ASN.1 BER?LDAPv3Encodes as ASN.1 BERCLDAPv3Encodes as ASN.1 BERGLDAPv3Encodes as ASN.1 BERKLDAPv3Encodes as ASN.1 BEROLDAPv3Encodes as ASN.1 BER$ !"#$%&'()*+,-./012$!"#$%& '(120/.-*),+None.7=?@AMX`LDAPv3 Message ID ( 3https://tools.ietf.org/html/rfc4511#section-4.1.1.1RFC4511 Section 4.1.1.1) $MessageID ::= INTEGER (0 .. maxInt)bLDAPv3&LDAPv3 protocol ASN.1 constant as per 1https://tools.ietf.org/html/rfc4511#section-4.1.1RFC4511 Section 4.1.1 ,maxInt INTEGER ::= 2147483647 -- (2^^31 - 1)4LDAPv3`ab None7YrcLDAPv3   Result Code(cdefghijklmnopqrstuvwxyz{|}~ Safe>\%LDAPv39Convert to and from string representations as defined by  #https://tools.ietf.org/html/rfc4515RFC4515. None "#7=>?@AM_yYLDAPv3Matching Rule Identifier ( 1https://tools.ietf.org/html/rfc4511#section-4.1.8RFC4511 Section 4.1.8) MatchingRuleId ::= LDAPStringLDAPv36Case-insensitive string used to denote OID short names keystring = leadkeychar *keychar leadkeychar = ALPHA keychar = ALPHA / DIGIT / HYPHEN ALPHA = %x41-5A / %x61-7A ; "A"-"Z" / "a"-"z" DIGIT = %x30 / LDIGIT ; "0"-"9" HYPHEN = %x2D ; hyphen ("-")LDAPv3Numeric Object Identifier (OID) numericoid = number 1*( DOT number ) number = DIGIT / ( LDIGIT 1*DIGIT ) DIGIT = %x30 / LDIGIT ; "0"-"9" LDIGIT = %x31-39 ; "1"-"9"LDAPv3-Case-insensitive attribute description option option = 1*keychar keychar = ALPHA / DIGIT / HYPHEN ALPHA = %x41-5A / %x61-7A ; "A"-"Z" / "a"-"z" DIGIT = %x30 / LDIGIT ; "0"-"9" HYPHEN = %x2D ; hyphen ("-")LDAPv3Attribute Descriptions ( 1https://tools.ietf.org/html/rfc4511#section-4.1.4RFC4511 Section 4.1.4) AttributeDescription ::= LDAPString -- Constrained to <attributedescription> -- [RFC4512]attributedescription's syntax is defined in ABNF ( %https://tools.ietf.org/search/rfc4234RFC4234 ) notation as attributedescription = attributetype options attributetype = oid options = *( SEMI option ) option = 1*keychar oid = descr / numericoid descr = keystring numericoid = number 1*( DOT number ) keystring = leadkeychar *keychar leadkeychar = ALPHA keychar = ALPHA / DIGIT / HYPHEN ALPHA = %x41-5A / %x61-7A ; "A"-"Z" / "a"-"z" number = DIGIT / ( LDIGIT 1*DIGIT ) DIGIT = %x30 / LDIGIT ; "0"-"9" LDIGIT = %x31-39 ; "1"-"9" HYPHEN = %x2D ; hyphen ("-") See also  1https://tools.ietf.org/search/rfc4512#section-2.5RFC4512 Section 2.5 for the definition of attributedescription.56789:;<=>?@AB Trustworthy"#.17=?@AHMUV_X5CLDAPv3Intermediate Response ( 0https://tools.ietf.org/html/rfc4511#section-4.13RFC4511 Section 4.13) IntermediateResponse ::= [APPLICATION 25] SEQUENCE { responseName [0] LDAPOID OPTIONAL, responseValue [1] OCTET STRING OPTIONAL }DLDAPv3Extended Response ( 0https://tools.ietf.org/html/rfc4511#section-4.12RFC4511 Section 4.12) ExtendedResponse ::= [APPLICATION 24] SEQUENCE { COMPONENTS OF LDAPResult, responseName [10] LDAPOID OPTIONAL, responseValue [11] OCTET STRING OPTIONAL }ELDAPv3Extended Request ( 0https://tools.ietf.org/html/rfc4511#section-4.12RFC4511 Section 4.12) ExtendedRequest ::= [APPLICATION 23] SEQUENCE { requestName [0] LDAPOID, requestValue [1] OCTET STRING OPTIONAL }FLDAPv3Abandon Operation ( 0https://tools.ietf.org/html/rfc4511#section-4.11RFC4511 Section 4.11) -AbandonRequest ::= [APPLICATION 16] MessageIDGLDAPv3Compare Response ( 0https://tools.ietf.org/html/rfc4511#section-4.10RFC4511 Section 4.10) /CompareResponse ::= [APPLICATION 15] LDAPResultHLDAPv3Compare Operation ( 0https://tools.ietf.org/html/rfc4511#section-4.10RFC4511 Section 4.10) zCompareRequest ::= [APPLICATION 14] SEQUENCE { entry LDAPDN, ava AttributeValueAssertion }ILDAPv3Modify DN Response ( /https://tools.ietf.org/html/rfc4511#section-4.9RFC4511 Section 4.9) 0ModifyDNResponse ::= [APPLICATION 13] LDAPResultJLDAPv3Modify DN Operation ( /https://tools.ietf.org/html/rfc4511#section-4.9RFC4511 Section 4.9)ModifyDNRequest ::= [APPLICATION 12] SEQUENCE { entry LDAPDN, newrdn RelativeLDAPDN, deleteoldrdn BOOLEAN, newSuperior [0] LDAPDN OPTIONAL }KLDAPv3Delete Response ( /https://tools.ietf.org/html/rfc4511#section-4.8RFC4511 Section 4.8) +DelResponse ::= [APPLICATION 11] LDAPResultLLDAPv3Delete Operation ( /https://tools.ietf.org/html/rfc4511#section-4.8RFC4511 Section 4.8) &DelRequest ::= [APPLICATION 10] LDAPDNMLDAPv3Add Response ( /https://tools.ietf.org/html/rfc4511#section-4.7RFC4511 Section 4.7) *AddResponse ::= [APPLICATION 9] LDAPResultNLDAPv3Attribute List 1AttributeList ::= SEQUENCE OF attribute AttributeOLDAPv3Add Operation ( /https://tools.ietf.org/html/rfc4511#section-4.7RFC4511 Section 4.7) kAddRequest ::= [APPLICATION 8] SEQUENCE { entry LDAPDN, attributes AttributeList }PLDAPv3Modify Response ( /https://tools.ietf.org/html/rfc4511#section-4.6RFC4511 Section 4.6) -ModifyResponse ::= [APPLICATION 7] LDAPResultQLDAPv3See R and SSLDAPv3See RRLDAPv3Modify Operation ( /https://tools.ietf.org/html/rfc4511#section-4.6RFC4511 Section 4.6) =ModifyRequest ::= [APPLICATION 6] SEQUENCE { object LDAPDN, changes SEQUENCE OF change SEQUENCE { operation ENUMERATED { add (0), delete (1), replace (2), ... }, modification PartialAttribute } }TLDAPv3Relative Distinguished Name ( 1https://tools.ietf.org/html/rfc4511#section-4.1.3RFC4511 Section 4.1.3) kRelativeLDAPDN ::= LDAPString -- Constrained to <name-component> -- [RFC4514]ULDAPv3Distinguished Name ( 1https://tools.ietf.org/html/rfc4511#section-4.1.3RFC4511 Section 4.1.3) ^LDAPDN ::= LDAPString -- Constrained to <distinguishedName> -- [RFC4514]VLDAPv3String Type ( 1https://tools.ietf.org/html/rfc4511#section-4.1.2RFC4511 Section 4.1.2) bLDAPString ::= OCTET STRING -- UTF-8 encoded, -- [ISO10646] charactersWLDAPv3 [URI ::= LDAPString -- limited to characters permitted in -- URIsXLDAPv3Referral result code ( 2https://tools.ietf.org/html/rfc4511#section-4.1.10RFC4511 Section 4.1.10) .Referral ::= SEQUENCE SIZE (1..MAX) OF uri URIYLDAPv3Result Message ( 1https://tools.ietf.org/html/rfc4511#section-4.1.9RFC4511 Section 4.1.9) LDAPResult ::= SEQUENCE { resultCode ENUMERATED { success (0), operationsError (1), protocolError (2), timeLimitExceeded (3), sizeLimitExceeded (4), compareFalse (5), compareTrue (6), authMethodNotSupported (7), strongerAuthRequired (8), -- 9 reserved -- referral (10), adminLimitExceeded (11), unavailableCriticalExtension (12), confidentialityRequired (13), saslBindInProgress (14), noSuchAttribute (16), undefinedAttributeType (17), inappropriateMatching (18), constraintViolation (19), attributeOrValueExists (20), invalidAttributeSyntax (21), -- 22-31 unused -- noSuchObject (32), aliasProblem (33), invalidDNSyntax (34), -- 35 reserved for undefined isLeaf -- aliasDereferencingProblem (36), -- 37-47 unused -- inappropriateAuthentication (48), invalidCredentials (49), insufficientAccessRights (50), busy (51), unavailable (52), unwillingToPerform (53), loopDetect (54), -- 55-63 unused -- namingViolation (64), objectClassViolation (65), notAllowedOnNonLeaf (66), notAllowedOnRDN (67), entryAlreadyExists (68), objectClassModsProhibited (69), -- 70 reserved for CLDAP -- affectsMultipleDSAs (71), -- 72-79 unused -- other (80), ... }, matchedDN LDAPDN, diagnosticMessage LDAPString, referral [3] Referral OPTIONAL }ZLDAPv3Search Result Done ( 1https://tools.ietf.org/html/rfc4511#section-4.5.2RFC4511 Section 4.5.2) /SearchResultDone ::= [APPLICATION 5] LDAPResult[LDAPv3 Attribute ( 1https://tools.ietf.org/html/rfc4511#section-4.1.7RFC4511 Section 4.1.7) UAttribute ::= PartialAttribute(WITH COMPONENTS { ..., vals (SIZE(1..MAX))})\LDAPv3Partial Attribute ( 1https://tools.ietf.org/html/rfc4511#section-4.1.7RFC4511 Section 4.1.7) sPartialAttribute ::= SEQUENCE { type AttributeDescription, vals SET OF value AttributeValue }]LDAPv3See ^ [PartialAttributeList ::= SEQUENCE OF partialAttribute PartialAttribute^LDAPv3Search Result Entry ( 1https://tools.ietf.org/html/rfc4511#section-4.5.2RFC4511 Section 4.5.2) ySearchResultEntry ::= [APPLICATION 4] SEQUENCE { objectName LDAPDN, attributes PartialAttributeList }_LDAPv3'Search Result Continuation Reference ( 1https://tools.ietf.org/html/rfc4511#section-4.5.3RFC4511 Section 4.5.3) fSearchResultReference ::= [APPLICATION 19] SEQUENCE SIZE (1..MAX) OF uri URI`LDAPv3Extensible Match a b ( 5https://tools.ietf.org/html/rfc4511#section-4.5.1.7.7RFC4511 Section 4.5.1.7.7) MatchingRuleAssertion ::= SEQUENCE { matchingRule [1] MatchingRuleId OPTIONAL, type [2] AttributeDescription OPTIONAL, matchValue [3] AssertionValue, dnAttributes [4] BOOLEAN DEFAULT FALSE }NOTE<: The LDAPv3 specification imposes the additional invariant:If the  matchingRule field is absent, the type field MUST be presentcLDAPv3See deLDAPv38may occur at most once; must be first element if presentfLDAPv37may occur at most once; must be last element if presentdLDAPv3 Substring b ( 5https://tools.ietf.org/html/rfc4511#section-4.5.1.7.2RFC4511 Section 4.5.1.7.2) 8SubstringFilter ::= SEQUENCE { type AttributeDescription, substrings SEQUENCE SIZE (1..MAX) OF substring CHOICE { initial [0] AssertionValue, -- can occur at most once any [1] AssertionValue, final [2] AssertionValue } -- can occur at most once }NOTEP: The additional invariants imposed on the ordering and occurence counts of the initial and final entries MUST currently be enforced by the consumer of this library. Future versions of this library might change to enforce these invariants at the type-level.;Specifically, the invariant stated by the specification is:There SHALL be at most one initial and at most one final in the  substrings of a SubstringFilter. If initial. is present, it SHALL be the first element of  substrings. If final- is present, it SHALL be the last element of  substrings.gLDAPv3 AssertionValue ::= OCTET STRINGhLDAPv3Attribute Value Assertion ( 1https://tools.ietf.org/html/rfc4511#section-4.1.6RFC4511 Section 4.1.6) wAttributeValueAssertion ::= SEQUENCE { attributeDesc AttributeDescription, assertionValue AssertionValue }iLDAPv3Attribute Value ( 1https://tools.ietf.org/html/rfc4511#section-4.1.5RFC4511 Section 4.1.5) AttributeValue ::= OCTET STRINGbLDAPv3Search Filter ( 3https://tools.ietf.org/html/rfc4511#section-4.5.1.7RFC4511 Section 4.5.1.7)  Filter ::= CHOICE { and [0] SET SIZE (1..MAX) OF filter Filter, or [1] SET SIZE (1..MAX) OF filter Filter, not [2] Filter, equalityMatch [3] AttributeValueAssertion, substrings [4] SubstringFilter, greaterOrEqual [5] AttributeValueAssertion, lessOrEqual [6] AttributeValueAssertion, present [7] AttributeDescription, approxMatch [8] AttributeValueAssertion, extensibleMatch [9] MatchingRuleAssertion, ... } See also LDAPv3.StringRepr for converting b to and from the 'String Representation of Search Filters ( #https://tools.ietf.org/html/rfc4515RFC4515).jLDAPv3See a ( 3https://tools.ietf.org/html/rfc4511#section-4.5.1.3RFC4511 Section 4.5.1.3)kLDAPv3See a ( 3https://tools.ietf.org/html/rfc4511#section-4.5.1.2RFC4511 Section 4.5.1.2)lLDAPv3See a AttributeSelection ::= SEQUENCE OF selector LDAPString -- The LDAPString is constrained to -- <attributeSelector> in Section 4.5.1.8aLDAPv3Search Request ( 1https://tools.ietf.org/html/rfc4511#section-4.5.1RFC4511 Section 4.5.1) qSearchRequest ::= [APPLICATION 3] SEQUENCE { baseObject LDAPDN, scope ENUMERATED { baseObject (0), singleLevel (1), wholeSubtree (2), ... }, derefAliases ENUMERATED { neverDerefAliases (0), derefInSearching (1), derefFindingBaseObj (2), derefAlways (3) }, sizeLimit INTEGER (0 .. maxInt), timeLimit INTEGER (0 .. maxInt), typesOnly BOOLEAN, filter Filter, attributes AttributeSelection }mLDAPv3Unbind Operation ( /https://tools.ietf.org/html/rfc4511#section-4.3RFC4511 Section 4.3) &UnbindRequest ::= [APPLICATION 2] NULLnLDAPv3Bind Response ( /https://tools.ietf.org/html/rfc4511#section-4.2RFC4511 Section 4.2) ~BindResponse ::= [APPLICATION 1] SEQUENCE { COMPONENTS OF LDAPResult, serverSaslCreds [7] OCTET STRING OPTIONAL }oLDAPv3See p |SaslCredentials ::= SEQUENCE { mechanism LDAPString, credentials OCTET STRING OPTIONAL }pLDAPv3See q AuthenticationChoice ::= CHOICE { simple [0] OCTET STRING, -- 1 and 2 reserved sasl [3] SaslCredentials, ... }qLDAPv3Bind Request ( /https://tools.ietf.org/html/rfc4511#section-4.2RFC4511 Section 4.2) BindRequest ::= [APPLICATION 0] SEQUENCE { version INTEGER (1 .. 127), name LDAPDN, authentication AuthenticationChoice }rLDAPv3Object identifier ( 1https://tools.ietf.org/html/rfc4511#section-4.1.2RFC4511 Section 4.1.2) ]LDAPOID ::= OCTET STRING -- Constrained to <numericoid> -- [RFC4512]sLDAPv3Control Entry ( 2https://tools.ietf.org/html/rfc4511#section-4.1.11RFC4511 Section 4.1.11) Control ::= SEQUENCE { controlType LDAPOID, criticality BOOLEAN DEFAULT FALSE, controlValue OCTET STRING OPTIONAL }tLDAPv3 Controls ( 2https://tools.ietf.org/html/rfc4511#section-4.1.11RFC4511 Section 4.1.11) (Controls ::= SEQUENCE OF control ControluLDAPv3CHOICE type inlined in LDAPMessage.protocolOp ( 1https://tools.ietf.org/html/rfc4511#section-4.1.1RFC4511 Section 4.1.1)vLDAPv3Message Envelope ( 1https://tools.ietf.org/html/rfc4511#section-4.1.1RFC4511 Section 4.1.1) LDAPMessage ::= SEQUENCE { messageID MessageID, protocolOp CHOICE { bindRequest BindRequest, bindResponse BindResponse, unbindRequest UnbindRequest, searchRequest SearchRequest, searchResEntry SearchResultEntry, searchResDone SearchResultDone, searchResRef SearchResultReference, modifyRequest ModifyRequest, modifyResponse ModifyResponse, addRequest AddRequest, addResponse AddResponse, delRequest DelRequest, delResponse DelResponse, modDNRequest ModifyDNRequest, modDNResponse ModifyDNResponse, compareRequest CompareRequest, compareResponse CompareResponse, abandonRequest AbandonRequest, extendedReq ExtendedRequest, extendedResp ExtendedResponse, ..., intermediateResponse IntermediateResponse }, controls [0] Controls OPTIONAL }wLDAPv3Encodes to/from ASN.1 as per /https://tools.ietf.org/html/rfc4511#section-5.1RFC4511 Section 5.1 `abcdefghijklmnopqrstuvwxyz{|}~CxyzD{|}~EFGHIJKLMNOPQSRTUVWXYZ[\]^_`cefdghibjklamnopqrstuv Trustworthy"#.17=?@AHMUV_@C;LDAPv3Intermediate Response ( 0https://tools.ietf.org/html/rfc4511#section-4.13RFC4511 Section 4.13) IntermediateResponse ::= [APPLICATION 25] SEQUENCE { responseName [0] LDAPOID OPTIONAL, responseValue [1] OCTET STRING OPTIONAL }LDAPv3Extended Response ( 0https://tools.ietf.org/html/rfc4511#section-4.12RFC4511 Section 4.12) ExtendedResponse ::= [APPLICATION 24] SEQUENCE { COMPONENTS OF LDAPResult, responseName [10] LDAPOID OPTIONAL, responseValue [11] OCTET STRING OPTIONAL }LDAPv3Extended Request ( 0https://tools.ietf.org/html/rfc4511#section-4.12RFC4511 Section 4.12) ExtendedRequest ::= [APPLICATION 23] SEQUENCE { requestName [0] LDAPOID, requestValue [1] OCTET STRING OPTIONAL }LDAPv3Abandon Operation ( 0https://tools.ietf.org/html/rfc4511#section-4.11RFC4511 Section 4.11) -AbandonRequest ::= [APPLICATION 16] MessageIDLDAPv3Compare Response ( 0https://tools.ietf.org/html/rfc4511#section-4.10RFC4511 Section 4.10) /CompareResponse ::= [APPLICATION 15] LDAPResultLDAPv3Compare Operation ( 0https://tools.ietf.org/html/rfc4511#section-4.10RFC4511 Section 4.10) zCompareRequest ::= [APPLICATION 14] SEQUENCE { entry LDAPDN, ava AttributeValueAssertion }LDAPv3Modify DN Response ( /https://tools.ietf.org/html/rfc4511#section-4.9RFC4511 Section 4.9) 0ModifyDNResponse ::= [APPLICATION 13] LDAPResultLDAPv3Modify DN Operation ( /https://tools.ietf.org/html/rfc4511#section-4.9RFC4511 Section 4.9)ModifyDNRequest ::= [APPLICATION 12] SEQUENCE { entry LDAPDN, newrdn RelativeLDAPDN, deleteoldrdn BOOLEAN, newSuperior [0] LDAPDN OPTIONAL }LDAPv3Delete Response ( /https://tools.ietf.org/html/rfc4511#section-4.8RFC4511 Section 4.8) +DelResponse ::= [APPLICATION 11] LDAPResultLDAPv3Delete Operation ( /https://tools.ietf.org/html/rfc4511#section-4.8RFC4511 Section 4.8) &DelRequest ::= [APPLICATION 10] LDAPDNLDAPv3Add Response ( /https://tools.ietf.org/html/rfc4511#section-4.7RFC4511 Section 4.7) *AddResponse ::= [APPLICATION 9] LDAPResultLDAPv3Attribute List 1AttributeList ::= SEQUENCE OF attribute AttributeLDAPv3Add Operation ( /https://tools.ietf.org/html/rfc4511#section-4.7RFC4511 Section 4.7) kAddRequest ::= [APPLICATION 8] SEQUENCE { entry LDAPDN, attributes AttributeList }LDAPv3Modify Response ( /https://tools.ietf.org/html/rfc4511#section-4.6RFC4511 Section 4.6) -ModifyResponse ::= [APPLICATION 7] LDAPResultLDAPv3See  and LDAPv3See LDAPv3Modify Operation ( /https://tools.ietf.org/html/rfc4511#section-4.6RFC4511 Section 4.6) =ModifyRequest ::= [APPLICATION 6] SEQUENCE { object LDAPDN, changes SEQUENCE OF change SEQUENCE { operation ENUMERATED { add (0), delete (1), replace (2), ... }, modification PartialAttribute } }LDAPv3Relative Distinguished Name ( 1https://tools.ietf.org/html/rfc4511#section-4.1.3RFC4511 Section 4.1.3) kRelativeLDAPDN ::= LDAPString -- Constrained to <name-component> -- [RFC4514]LDAPv3Distinguished Name ( 1https://tools.ietf.org/html/rfc4511#section-4.1.3RFC4511 Section 4.1.3) ^LDAPDN ::= LDAPString -- Constrained to <distinguishedName> -- [RFC4514]LDAPv3String Type ( 1https://tools.ietf.org/html/rfc4511#section-4.1.2RFC4511 Section 4.1.2) bLDAPString ::= OCTET STRING -- UTF-8 encoded, -- [ISO10646] charactersLDAPv3 [URI ::= LDAPString -- limited to characters permitted in -- URIsLDAPv3Referral result code ( 2https://tools.ietf.org/html/rfc4511#section-4.1.10RFC4511 Section 4.1.10) .Referral ::= SEQUENCE SIZE (1..MAX) OF uri URILDAPv3Result Message ( 1https://tools.ietf.org/html/rfc4511#section-4.1.9RFC4511 Section 4.1.9) LDAPResult ::= SEQUENCE { resultCode ENUMERATED { success (0), operationsError (1), protocolError (2), timeLimitExceeded (3), sizeLimitExceeded (4), compareFalse (5), compareTrue (6), authMethodNotSupported (7), strongerAuthRequired (8), -- 9 reserved -- referral (10), adminLimitExceeded (11), unavailableCriticalExtension (12), confidentialityRequired (13), saslBindInProgress (14), noSuchAttribute (16), undefinedAttributeType (17), inappropriateMatching (18), constraintViolation (19), attributeOrValueExists (20), invalidAttributeSyntax (21), -- 22-31 unused -- noSuchObject (32), aliasProblem (33), invalidDNSyntax (34), -- 35 reserved for undefined isLeaf -- aliasDereferencingProblem (36), -- 37-47 unused -- inappropriateAuthentication (48), invalidCredentials (49), insufficientAccessRights (50), busy (51), unavailable (52), unwillingToPerform (53), loopDetect (54), -- 55-63 unused -- namingViolation (64), objectClassViolation (65), notAllowedOnNonLeaf (66), notAllowedOnRDN (67), entryAlreadyExists (68), objectClassModsProhibited (69), -- 70 reserved for CLDAP -- affectsMultipleDSAs (71), -- 72-79 unused -- other (80), ... }, matchedDN LDAPDN, diagnosticMessage LDAPString, referral [3] Referral OPTIONAL }LDAPv3Search Result Done ( 1https://tools.ietf.org/html/rfc4511#section-4.5.2RFC4511 Section 4.5.2) /SearchResultDone ::= [APPLICATION 5] LDAPResultLDAPv3 Attribute ( 1https://tools.ietf.org/html/rfc4511#section-4.1.7RFC4511 Section 4.1.7) UAttribute ::= PartialAttribute(WITH COMPONENTS { ..., vals (SIZE(1..MAX))})LDAPv3Partial Attribute ( 1https://tools.ietf.org/html/rfc4511#section-4.1.7RFC4511 Section 4.1.7) sPartialAttribute ::= SEQUENCE { type AttributeDescription, vals SET OF value AttributeValue }LDAPv3See  [PartialAttributeList ::= SEQUENCE OF partialAttribute PartialAttributeLDAPv3Search Result Entry ( 1https://tools.ietf.org/html/rfc4511#section-4.5.2RFC4511 Section 4.5.2) ySearchResultEntry ::= [APPLICATION 4] SEQUENCE { objectName LDAPDN, attributes PartialAttributeList }LDAPv3'Search Result Continuation Reference ( 1https://tools.ietf.org/html/rfc4511#section-4.5.3RFC4511 Section 4.5.3) fSearchResultReference ::= [APPLICATION 19] SEQUENCE SIZE (1..MAX) OF uri URILDAPv3Extensible Match    ( 5https://tools.ietf.org/html/rfc4511#section-4.5.1.7.7RFC4511 Section 4.5.1.7.7) MatchingRuleAssertion ::= SEQUENCE { matchingRule [1] MatchingRuleId OPTIONAL, type [2] AttributeDescription OPTIONAL, matchValue [3] AssertionValue, dnAttributes [4] BOOLEAN DEFAULT FALSE }NOTE<: The LDAPv3 specification imposes the additional invariant:If the  matchingRule field is absent, the type field MUST be presentLDAPv3See LDAPv38may occur at most once; must be first element if presentLDAPv37may occur at most once; must be last element if presentLDAPv3 Substring  ( 5https://tools.ietf.org/html/rfc4511#section-4.5.1.7.2RFC4511 Section 4.5.1.7.2) 8SubstringFilter ::= SEQUENCE { type AttributeDescription, substrings SEQUENCE SIZE (1..MAX) OF substring CHOICE { initial [0] AssertionValue, -- can occur at most once any [1] AssertionValue, final [2] AssertionValue } -- can occur at most once }NOTEP: The additional invariants imposed on the ordering and occurence counts of the initial and final entries MUST currently be enforced by the consumer of this library. Future versions of this library might change to enforce these invariants at the type-level.;Specifically, the invariant stated by the specification is:There SHALL be at most one initial and at most one final in the  substrings of a SubstringFilter. If initial. is present, it SHALL be the first element of  substrings. If final- is present, it SHALL be the last element of  substrings.LDAPv3 AssertionValue ::= OCTET STRINGLDAPv3Attribute Value Assertion ( 1https://tools.ietf.org/html/rfc4511#section-4.1.6RFC4511 Section 4.1.6) wAttributeValueAssertion ::= SEQUENCE { attributeDesc AttributeDescription, assertionValue AssertionValue }LDAPv3Attribute Value ( 1https://tools.ietf.org/html/rfc4511#section-4.1.5RFC4511 Section 4.1.5) AttributeValue ::= OCTET STRINGLDAPv3Search Filter ( 3https://tools.ietf.org/html/rfc4511#section-4.5.1.7RFC4511 Section 4.5.1.7)  Filter ::= CHOICE { and [0] SET SIZE (1..MAX) OF filter Filter, or [1] SET SIZE (1..MAX) OF filter Filter, not [2] Filter, equalityMatch [3] AttributeValueAssertion, substrings [4] SubstringFilter, greaterOrEqual [5] AttributeValueAssertion, lessOrEqual [6] AttributeValueAssertion, present [7] AttributeDescription, approxMatch [8] AttributeValueAssertion, extensibleMatch [9] MatchingRuleAssertion, ... } See also LDAPv3.StringRepr for converting  to and from the 'String Representation of Search Filters ( #https://tools.ietf.org/html/rfc4515RFC4515).LDAPv3See   ( 3https://tools.ietf.org/html/rfc4511#section-4.5.1.3RFC4511 Section 4.5.1.3)LDAPv3See   ( 3https://tools.ietf.org/html/rfc4511#section-4.5.1.2RFC4511 Section 4.5.1.2) LDAPv3See  AttributeSelection ::= SEQUENCE OF selector LDAPString -- The LDAPString is constrained to -- <attributeSelector> in Section 4.5.1.8 LDAPv3Search Request ( 1https://tools.ietf.org/html/rfc4511#section-4.5.1RFC4511 Section 4.5.1) qSearchRequest ::= [APPLICATION 3] SEQUENCE { baseObject LDAPDN, scope ENUMERATED { baseObject (0), singleLevel (1), wholeSubtree (2), ... }, derefAliases ENUMERATED { neverDerefAliases (0), derefInSearching (1), derefFindingBaseObj (2), derefAlways (3) }, sizeLimit INTEGER (0 .. maxInt), timeLimit INTEGER (0 .. maxInt), typesOnly BOOLEAN, filter Filter, attributes AttributeSelection }LDAPv3Unbind Operation ( /https://tools.ietf.org/html/rfc4511#section-4.3RFC4511 Section 4.3) &UnbindRequest ::= [APPLICATION 2] NULLLDAPv3Bind Response ( /https://tools.ietf.org/html/rfc4511#section-4.2RFC4511 Section 4.2) ~BindResponse ::= [APPLICATION 1] SEQUENCE { COMPONENTS OF LDAPResult, serverSaslCreds [7] OCTET STRING OPTIONAL }LDAPv3See  |SaslCredentials ::= SEQUENCE { mechanism LDAPString, credentials OCTET STRING OPTIONAL }LDAPv3See  AuthenticationChoice ::= CHOICE { simple [0] OCTET STRING, -- 1 and 2 reserved sasl [3] SaslCredentials, ... } LDAPv3Bind Request ( /https://tools.ietf.org/html/rfc4511#section-4.2RFC4511 Section 4.2) BindRequest ::= [APPLICATION 0] SEQUENCE { version INTEGER (1 .. 127), name LDAPDN, authentication AuthenticationChoice }%LDAPv3Object identifier ( 1https://tools.ietf.org/html/rfc4511#section-4.1.2RFC4511 Section 4.1.2) ]LDAPOID ::= OCTET STRING -- Constrained to <numericoid> -- [RFC4512]&LDAPv3Control Entry ( 2https://tools.ietf.org/html/rfc4511#section-4.1.11RFC4511 Section 4.1.11) Control ::= SEQUENCE { controlType LDAPOID, criticality BOOLEAN DEFAULT FALSE, controlValue OCTET STRING OPTIONAL }+LDAPv3 Controls ( 2https://tools.ietf.org/html/rfc4511#section-4.1.11RFC4511 Section 4.1.11) (Controls ::= SEQUENCE OF control Control,LDAPv3CHOICE type inlined in LDAPMessage.protocolOp ( 1https://tools.ietf.org/html/rfc4511#section-4.1.1RFC4511 Section 4.1.1)BLDAPv3Message Envelope ( 1https://tools.ietf.org/html/rfc4511#section-4.1.1RFC4511 Section 4.1.1) LDAPMessage ::= SEQUENCE { messageID MessageID, protocolOp CHOICE { bindRequest BindRequest, bindResponse BindResponse, unbindRequest UnbindRequest, searchRequest SearchRequest, searchResEntry SearchResultEntry, searchResDone SearchResultDone, searchResRef SearchResultReference, modifyRequest ModifyRequest, modifyResponse ModifyResponse, addRequest AddRequest, addResponse AddResponse, delRequest DelRequest, delResponse DelResponse, modDNRequest ModifyDNRequest, modDNResponse ModifyDNResponse, compareRequest CompareRequest, compareResponse CompareResponse, abandonRequest AbandonRequest, extendedReq ExtendedRequest, extendedResp ExtendedResponse, ..., intermediateResponse IntermediateResponse }, controls [0] Controls OPTIONAL }GLDAPv3ASN.1 CHOICE AnnotationHLDAPv3ASN.1  COMPONENTS OF AnnotationILDAPv3Helper representing a BOOLEAN DEFAULT (TRUE|FALSE) ASN.1 type annotationJLDAPv3ASN.1  ENUMERATED AnnotationKLDAPv3ASN.1 EXPLICIT AnnotationLLDAPv3ASN.1 IMPLICIT AnnotationkLDAPv3Encodes to/from ASN.1 as per /https://tools.ietf.org/html/rfc4511#section-5.1RFC4511 Section 5.1 `abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLBCDEF`ab,-./0123456789:;<=>?@A%cdefghijklmnopqrstuvwxyz{|}~+&'()* !"#$     I HKLJGNone"#>_JELDAPv3 parser for parsing  #https://tools.ietf.org/html/rfc4515RFC4515+ string representations of a LDAPv3 search sNone "#7=>?@AM_LDAPv31Decoded non-normalizing string representation of DistinguishedName DistinguishedName ::= RDNSequence RDNSequence ::= SEQUENCE OF RelativeDistinguishedName RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue AttributeTypeAndValue ::= SEQUENCE { type AttributeType, value AttributeValue }Raw ASN.1 Hex-encoded AttributeValues are represented as * (which implies they MUST not be a size-0  ) whereas O is used for textually encoded (possibly containing escaped characters) values.FAs defined in RFC4514, the RDNSequence is serialized in reverse order.LDAPv38Haskell representation of the table below as defined in  /https://tools.ietf.org/search/rfc4514#section-3RFC4514 Section 3. String / X.500 AttributeType P CN L ST O OU C STREET DC UID  commonName (2.5.4.3) localityName (2.5.4.7) stateOrProvinceName (2.5.4.8) organizationName (2.5.4.10) organizationalUnitName (2.5.4.11) countryName (2.5.4.6) streetAddress (2.5.4.9) domainComponent (0.9.2342.19200300.100.1.25) userId (0.9.2342.19200300.100.1.1) NonedLDAPv3 Convenience  operation for rendering as LDAPv3 Convenience & operation for rendering as plain-old LDAPv3 Convenience  operation for parsing from LDAPv3 Convenience  operation for parsing from LDAPv3 Convenience & operation for parsing from plain-old    !"#$$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnno p q r s t u v w x y z { | } ~                                           !"#$%&'()*+,-./01234566789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-.-/-0-1-2-3-4-5-5-6787879:;<=<><?@A@A@BCDCECFCGCHIJIKILILIMININIOIPIPIQIRIRISITITIUIVIVIWXYZ[\]^__`abcdeefghghijklmlnlolplqlrlsltlulvlwlxlylzl{l|l}l~lllllllllllllI<:;=>?      :;=>? !"#$%&'()*+,-./ 0 1 2 3 4 5 6 7 8 9 : ; < =    6^     !"#$%&'()*+,-./0123456789>?@ABCDLDAPv3-0.1.1.0-inplaceLDAPv3.MessageLDAPv3.ASN1StringLDAPv3.StringReprCommonData.Int.SubtypesData.ASN1.Prim Data.ASN1LDAPv3.Message.TypesLDAPv3.ResultCodeLDAPv3 LDAPResultLDAPv3.StringRepr.ClassLDAPv3.AttributeDescriptionLDAPv3.Message.AnnotatedLDAPv3.SearchFilterLDAPv3.DistinguishedName UIntBoundsUIntfromUInttoUIntTagK UNIVERSAL APPLICATION CONTEXTUALPRIVATENULLSETSET1 OCTET_STRINGUniversalString BMPString IA5String VisibleString NumericStringPrintableString UTF8Stringutf8String'toShortTextASN1StringChoiceASN1String'OCTET_STRINGASN1String'UniversalStringASN1String'UTF8StringASN1String'BMPStringASN1String'IA5StringASN1String'VisibleStringASN1String'PrintableStringASN1String'NumericString ASN1Stringasn1string'decodeasn1string'encodeasn1string'supportsCodePointasn1string'toCodePointsasn1string'fromCodePointsasn1StringChoice'encodeasn1StringChoice'decodeprintableString'fromShortTextprintableString'toShortTextnumericString'fromShortTextnumericString'toShortTextvisibleString'fromShortTextvisibleString'toShortTextia5String'fromShortTextia5String'toShortTextbmpString'toUcs2CodePointsbmpString'fromUcs2CodePoints$fBinaryUTF8String$fASN1UTF8String$fShowUTF8String$fASN1StringUTF8String$fBinaryPrintableString$fASN1PrintableString$fShowPrintableString$fASN1StringPrintableString$fBinaryNumericString$fASN1NumericString$fASN1StringNumericString$fShowNumericString$fBinaryVisibleString$fASN1VisibleString$fShowVisibleString$fASN1StringVisibleString$fBinaryIA5String$fASN1IA5String$fShowIA5String$fASN1StringIA5String$fBinaryBMPString$fASN1BMPString$fShowBMPString$fASN1StringBMPString$fBinaryUniversalString$fASN1UniversalString$fShowUniversalString$fASN1StringUniversalString$fBinaryASN1StringChoice$fEqUTF8String$fOrdUTF8String$fEqPrintableString$fOrdPrintableString$fEqNumericString$fOrdNumericString$fEqVisibleString$fOrdVisibleString $fEqIA5String$fOrdIA5String $fEqBMPString$fOrdBMPString$fEqUniversalString$fOrdUniversalString$fShowASN1StringChoice$fEqASN1StringChoice MessageIDMaxInt ResultCodeResultCode'successResultCode'operationsErrorResultCode'protocolErrorResultCode'timeLimitExceededResultCode'sizeLimitExceededResultCode'compareFalseResultCode'compareTrue!ResultCode'authMethodNotSupportedResultCode'strongerAuthRequiredResultCode'referralResultCode'adminLimitExceeded'ResultCode'unavailableCriticalExtension"ResultCode'confidentialityRequiredResultCode'saslBindInProgressResultCode'noSuchAttribute!ResultCode'undefinedAttributeType ResultCode'inappropriateMatchingResultCode'constraintViolation!ResultCode'attributeOrValueExists!ResultCode'invalidAttributeSyntaxResultCode'noSuchObjectResultCode'aliasProblemResultCode'invalidDNSyntax$ResultCode'aliasDereferencingProblem&ResultCode'inappropriateAuthenticationResultCode'invalidCredentials#ResultCode'insufficientAccessRightsResultCode'busyResultCode'unavailableResultCode'unwillingToPerformResultCode'loopDetectResultCode'namingViolationResultCode'objectClassViolationResultCode'notAllowedOnNonLeafResultCode'notAllowedOnRDNResultCode'entryAlreadyExists$ResultCode'objectClassModsProhibitedResultCode'affectsMultipleDSAsResultCode'other StringReprasParsec asBuilderrenderShortTextMatchingRuleId KeyStringOIDOptionAttributeDescriptionIntermediateResponse"_IntermediateResponse'responseName#_IntermediateResponse'responseValueExtendedResponse_ExtendedResponse'LDAPResult_ExtendedResponse'responseName_ExtendedResponse'responseValueExtendedRequest_ExtendedRequest'responseName_ExtendedRequest'responseValueAbandonRequestCompareResponseCompareRequest_CompareRequest'entry_CompareRequest'avaModifyDNResponseModifyDNRequest_ModifyDNRequest'entry_ModifyDNRequest'newrdn_ModifyDNRequest'deleteoldrdn_ModifyDNRequest'newSuperior DelResponse DelRequest AddResponse AttributeList AddRequest_AddRequest'entry_AddRequest'attributesModifyResponse Operation Operation'addOperation'deleteOperation'replaceChange_Change'operation_Change'modification ModifyRequest_ModifyRequest'object_ModifyRequest'changesRelativeLDAPDNLDAPDN LDAPStringURIReferral_LDAPResult'resultCode_LDAPResult'matchedDN_LDAPResult'diagnosticMessage_LDAPResult'referralSearchResultDone Attribute_Attribute'type_Attribute'valsPartialAttribute_PartialAttribute'type_PartialAttribute'valsPartialAttributeListSearchResultEntry_SearchResultEntry'objectName_SearchResultEntry'attributesSearchResultReferenceMatchingRuleAssertion#_MatchingRuleAssertion'matchingRule_MatchingRuleAssertion'type!_MatchingRuleAssertion'matchValue#_MatchingRuleAssertion'dnAttributes SubstringSubstring'initial Substring'anySubstring'finalSubstringFilter_SubstringFilter'type_SubstringFilter'substringsAssertionValueAttributeValueAssertion&_AttributeValueAssertion'attributeDesc'_AttributeValueAssertion'assertionValueAttributeValueFilter Filter'and Filter'or Filter'notFilter'equalityMatchFilter'substringsFilter'greaterOrEqualFilter'lessOrEqualFilter'presentFilter'approxMatchFilter'extensibleMatch DerefAliasesDerefAliases'neverDerefAliasesDerefAliases'derefInSearching DerefAliases'derefFindingBaseObjDerefAliases'derefAlwaysScopeScope'baseObjectScope'singleLevelScope'wholeSubtreeAttributeSelection SearchRequest_SearchRequest'baseObject_SearchRequest'scope_SearchRequest'derefAliases_SearchRequest'sizeLimit_SearchRequest'timeLimit_SearchRequest'typesOnly_SearchRequest'filter_SearchRequest'attributes UnbindRequest BindResponse_BindResponse'LDAPResult_BindResponse'serverSaslCredsSaslCredentials_SaslCredentials'mechanism_SaslCredentials'credentialsAuthenticationChoiceAuthenticationChoice'simpleAuthenticationChoice'sasl BindRequestbindRequest'versionbindRequest'namebindRequest'authenticationLDAPOIDControl_Control'controlType_Control'criticality_Control'controlValueControls ProtocolOpProtocolOp'bindRequestProtocolOp'bindResponseProtocolOp'unbindRequestProtocolOp'searchRequestProtocolOp'searchResEntryProtocolOp'searchResDoneProtocolOp'searchResRefProtocolOp'modifyRequestProtocolOp'modifyResponseProtocolOp'addRequestProtocolOp'addResponseProtocolOp'delRequestProtocolOp'delResponseProtocolOp'modDNRequestProtocolOp'modDNResponseProtocolOp'compareRequestProtocolOp'compareResponseProtocolOp'abandonRequestProtocolOp'extendedReqProtocolOp'extendedRespProtocolOp'intermediateResponse LDAPMessage_LDAPMessage'messageID_LDAPMessage'protocolOp_LDAPMessage'controlsCHOICE COMPONENTS_OFBOOLEAN_DEFAULT ENUMERATEDEXPLICITIMPLICIT$fNFDataControl$fEnumeratedScope $fNFDataScope$fEnumeratedDerefAliases$fNFDataDerefAliases$fNFDataAttributeValueAssertion$fNFDataSubstring$fNFDataSubstringFilter$fNFDataMatchingRuleAssertion$fNFDataFilter$fNFDataPartialAttribute$fNFDataAttribute$fNFDataSaslCredentials$fNFDataAuthenticationChoice$fNFDataLDAPResult$fNFDataBindResponse$fNFDataSearchResultEntry$fNFDataSearchRequest$fNFDataBindRequest$fEnumeratedOperation$fNFDataOperation$fNFDataChange$fNFDataModifyRequest$fNFDataAddRequest$fNFDataModifyDNRequest$fNFDataCompareRequest$fNFDataExtendedRequest$fNFDataExtendedResponse$fNFDataIntermediateResponse$fNFDataProtocolOp$fBinaryLDAPMessage$fGenericControl $fShowControl $fEqControl$fGenericScope$fBoundedScope $fEnumScope $fShowScope $fEqScope$fGenericDerefAliases$fBoundedDerefAliases$fEnumDerefAliases$fShowDerefAliases$fEqDerefAliases $fGenericAttributeValueAssertion$fShowAttributeValueAssertion$fEqAttributeValueAssertion$fGenericSubstring$fShowSubstring $fEqSubstring$fGenericSubstringFilter$fShowSubstringFilter$fEqSubstringFilter$fGenericMatchingRuleAssertion$fShowMatchingRuleAssertion$fEqMatchingRuleAssertion$fGenericFilter $fShowFilter $fEqFilter$fGenericPartialAttribute$fShowPartialAttribute$fEqPartialAttribute$fGenericAttribute$fShowAttribute $fEqAttribute$fGenericSearchResultReference$fNFDataSearchResultReference$fShowSearchResultReference$fEqSearchResultReference$fGenericSaslCredentials$fShowSaslCredentials$fEqSaslCredentials$fGenericAuthenticationChoice$fShowAuthenticationChoice$fEqAuthenticationChoice$fGenericLDAPResult$fShowLDAPResult$fEqLDAPResult$fGenericBindResponse$fShowBindResponse$fEqBindResponse$fGenericSearchResultEntry$fShowSearchResultEntry$fEqSearchResultEntry$fGenericSearchRequest$fShowSearchRequest$fEqSearchRequest$fGenericBindRequest$fShowBindRequest$fEqBindRequest$fGenericOperation$fBoundedOperation$fEnumOperation$fShowOperation $fEqOperation$fGenericChange $fShowChange $fEqChange$fGenericModifyRequest$fShowModifyRequest$fEqModifyRequest$fGenericAddRequest$fShowAddRequest$fEqAddRequest$fGenericModifyDNRequest$fShowModifyDNRequest$fEqModifyDNRequest$fGenericCompareRequest$fShowCompareRequest$fEqCompareRequest$fGenericExtendedRequest$fShowExtendedRequest$fEqExtendedRequest$fGenericExtendedResponse$fShowExtendedResponse$fEqExtendedResponse$fGenericIntermediateResponse$fShowIntermediateResponse$fEqIntermediateResponse$fGenericProtocolOp$fShowProtocolOp$fEqProtocolOp$fGenericLDAPMessage$fShowLDAPMessage$fEqLDAPMessageDistinguishedNamerfc4514coreAttributes renderText renderString parseTextparseShortText parseStringbase Control.MonadguardGHC.BasejoinMonad>>=>>returnFunctorfmap<$Control.Monad.Fail MonadFailfail Applicativepure<*>*>liftA2<*Data.TraversablemapMsequence GHC.GenericsGeneric GHC.TypeNatsKnownNat GHC.TypeLits KnownSymbol Semigroup<>sconcatstimesghc-prim GHC.TypesIntGHC.IntInt8Int16Int32Int64 GHC.NaturalNatural GHC.MaybeMaybeNothingJustWordGHC.WordWord8Word16Word32Word64NatSymbol+*^<=?- CmpSymbolCmpNatDivModLog2 TypeError AppendSymbolData.Semigroupoption mtimesDefaultdiffcycle1MingetMinMaxgetMaxArgArgMinArgMaxFirstgetFirstLastgetLast WrappedMonoid WrapMonoid unwrapMonoid getOptionData.List.NonEmpty<|mfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMforMControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListData.Functor.IdentityIdentity runIdentity GHC.ExceptionthrowGHC.Exception.TypeArithException UnderflowOverflowData.Functor.ConstConstgetConst Data.Foldablemsumasum sequence_forM_mapM_Data.Semigroup.Internal stimesMonoidstimesIdempotentDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProduct sameSymbol someSymbolVal someNatVal symbolVal'natVal' symbolValnatVal SomeSymbol ErrorMessage:<>::$$:ShowTypesameNatSomeNat<= Data.ProxyProxy byteSwap64 byteSwap32 byteSwap16 Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBitsxor.&..|. complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybe Data.Functorvoid<$>apliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**> Alternativeempty<|>somemany MonadPlusmzeromplusNonEmpty:|stimesIdempotentMonoidbytestring-0.10.10.1Data.ByteString.Short.InternalShortByteStringData.ByteString.Internal ByteStringdeepseq-1.4.4.0Control.DeepSeqNFDatarnfQint-cast-0.2.0.0-0f489a5f763a32cc9beafaf7b13a0331a211d58e954911b47c768f6bdb765daf Data.IntCast intCastMaybe intCastEq intCastIsointCast IntBaseTypeK FixedIntTag FixedWordTag BigIntTag BigWordTag IntBaseTypeIsIntBaseSubType IsIntSubTypeIsIntBaseTypeIso IsIntTypeIsoIsIntBaseTypeEq IsIntTypeEqPnewtype-0.2.2.0-e0746e1dfbd5bdcd60f5748926866af9927f1d687dc95d63d5d0ff08b0030381Control.NewtypeNewtypepackunpack text-1.2.4.0Data.Text.InternalTextQtext-short-0.1.5-3e422225b97b72159fe83af6866750a9b50c956abfb2663922644609e6f9d611Data.Text.Short.Internal ShortTextrwhnfinside impossiblesepBy1' SIntBoundsSIntfromSInt Data.EitherLefttoSIntRightIsAboveMinBoundNegIsBelowMaxBounduintFromIntegertoUInt'sintFromIntegerTagKnownTagtagVal Universal Application ContextualPrivatetagNumTL EncodingRuleBERCERDERTagPC Primitive Constructed isolate64 getTagLength putTagLength asPrimitive getVarInt64 getVarInteger putVarInt64 putVarIntegerasn1decodeIsEmptymemptyasn1decodeIsMonodec'BoundedEnumGHC.EnumEnum$fAlternativeASN1Decode$fASN1()$fASN1NonEmptyGASN1DecodeChoiceGASN1EncodeChoiceGASN1DecodeCompOfGASN1EncodeCompOfBOOLEANOPTIONALASN1Constructedasn1decodeCompOfasn1encodeCompOfASN1 asn1decode asn1defTag asn1encode ASN1Decode ASN1Encode Enumerated toEnumeratedfromEnumerated toBinaryPutenc'SEQUENCE_COMPS enc'SEQUENCE dec'OPTIONALasn1fail toBinaryGet transformViaasn1decodeParsecexplicitimplicit dec'CHOICE dec'SEQUENCEdec'SEQUENCE_OF dec'SET_OFenc'BoundedEnumdec'NULLenc'NULLretagwraptaggasn1encodeCompOfgasn1decodeCompOfgasn1encodeChoicegasn1decodeChoice$fEnumMessageIDp'AttributeDescriptionr'AttributeDescriptionts'AttributeDescriptionp'Option ts'Option p'DescrOrOIDr'OIDts'OIDp'OID ts'KeyString p'KeyStringts'MatchingRuleIdr'MatchingRuleIdp'MatchingRuleIdp'Filterparsec-3.1.14.0Text.Parsec.PrimParsecr'FilterString