public class org.bouncycastle.jce.provider.PKIXNameConstraintValidator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.jce.provider.PKIXNameConstraintValidator
  super_class: java.lang.Object
{
  private java.util.Set excludedSubtreesDN;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set excludedSubtreesDNS;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set excludedSubtreesEmail;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set excludedSubtreesURI;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set excludedSubtreesIP;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set permittedSubtreesDN;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set permittedSubtreesDNS;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set permittedSubtreesEmail;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set permittedSubtreesURI;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set permittedSubtreesIP;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 22
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
         2: .line 24
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
         3: .line 26
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
         4: .line 28
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
         5: .line 30
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
         6: .line 44
            return
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;

  private static boolean withinDNSubtree(org.bouncycastle.asn1.ASN1Sequence, org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;Lorg/bouncycastle/asn1/ASN1Sequence;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1Sequence dns
        start local 1 // org.bouncycastle.asn1.ASN1Sequence subtree
         0: .line 50
            aload 1 /* subtree */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            iconst_1
            if_icmpge 2
         1: .line 52
            iconst_0
            ireturn
         2: .line 55
      StackMap locals:
      StackMap stack:
            aload 1 /* subtree */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            aload 0 /* dns */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            if_icmple 4
         3: .line 57
            iconst_0
            ireturn
         4: .line 60
      StackMap locals:
      StackMap stack:
            aload 1 /* subtree */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            iconst_1
            isub
            istore 2 /* j */
        start local 2 // int j
         5: goto 9
         6: .line 62
      StackMap locals: int
      StackMap stack:
            aload 1 /* subtree */
            iload 2 /* j */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            aload 0 /* dns */
            iload 2 /* j */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 64
            iconst_0
            ireturn
         8: .line 60
      StackMap locals:
      StackMap stack:
            iinc 2 /* j */ -1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* j */
            ifge 6
        end local 2 // int j
        10: .line 68
            iconst_1
            ireturn
        end local 1 // org.bouncycastle.asn1.ASN1Sequence subtree
        end local 0 // org.bouncycastle.asn1.ASN1Sequence dns
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0      dns  Lorg/bouncycastle/asn1/ASN1Sequence;
            0   11     1  subtree  Lorg/bouncycastle/asn1/ASN1Sequence;
            5   10     2        j  I
    MethodParameters:
         Name  Flags
      dns      
      subtree  

  public void checkPermittedDN(org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // org.bouncycastle.asn1.ASN1Sequence dns
         0: .line 74
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
            aload 1 /* dns */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedDN:(Ljava/util/Set;Lorg/bouncycastle/asn1/ASN1Sequence;)V
         1: .line 75
            return
        end local 1 // org.bouncycastle.asn1.ASN1Sequence dns
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0    2     1   dns  Lorg/bouncycastle/asn1/ASN1Sequence;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
      Name  Flags
      dns   

  public void checkExcludedDN(org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // org.bouncycastle.asn1.ASN1Sequence dns
         0: .line 80
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
            aload 1 /* dns */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcludedDN:(Ljava/util/Set;Lorg/bouncycastle/asn1/ASN1Sequence;)V
         1: .line 81
            return
        end local 1 // org.bouncycastle.asn1.ASN1Sequence dns
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0    2     1   dns  Lorg/bouncycastle/asn1/ASN1Sequence;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
      Name  Flags
      dns   

  private void checkPermittedDN(java.util.Set, org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Ljava/util/Set;Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // org.bouncycastle.asn1.ASN1Sequence dns
         0: .line 86
            aload 1 /* permitted */
            ifnonnull 2
         1: .line 88
            return
         2: .line 91
      StackMap locals:
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 4
            aload 2 /* dns */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            ifne 4
         3: .line 93
            return
         4: .line 95
      StackMap locals:
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         5: .line 97
            goto 9
         6: .line 99
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 4 /* subtree */
        start local 4 // org.bouncycastle.asn1.ASN1Sequence subtree
         7: .line 101
            aload 2 /* dns */
            aload 4 /* subtree */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDNSubtree:(Lorg/bouncycastle/asn1/ASN1Sequence;Lorg/bouncycastle/asn1/ASN1Sequence;)Z
            ifeq 9
         8: .line 103
            return
        end local 4 // org.bouncycastle.asn1.ASN1Sequence subtree
         9: .line 97
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 107
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
        11: .line 108
            ldc "Subject distinguished name is not from a permitted subtree"
        12: .line 107
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Iterator it
        end local 2 // org.bouncycastle.asn1.ASN1Sequence dns
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   13     1  permitted  Ljava/util/Set;
            0   13     2        dns  Lorg/bouncycastle/asn1/ASN1Sequence;
            5   13     3         it  Ljava/util/Iterator;
            7    9     4    subtree  Lorg/bouncycastle/asn1/ASN1Sequence;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
           Name  Flags
      permitted  
      dns        

  private void checkExcludedDN(java.util.Set, org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Ljava/util/Set;Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // org.bouncycastle.asn1.ASN1Sequence dns
         0: .line 114
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 116
            return
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 121
            goto 9
         4: .line 123
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 4 /* subtree */
        start local 4 // org.bouncycastle.asn1.ASN1Sequence subtree
         5: .line 125
            aload 2 /* dns */
            aload 4 /* subtree */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDNSubtree:(Lorg/bouncycastle/asn1/ASN1Sequence;Lorg/bouncycastle/asn1/ASN1Sequence;)Z
            ifeq 9
         6: .line 127
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
         7: .line 128
            ldc "Subject distinguished name is from an excluded subtree"
         8: .line 127
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.bouncycastle.asn1.ASN1Sequence subtree
         9: .line 121
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 131
            return
        end local 3 // java.util.Iterator it
        end local 2 // org.bouncycastle.asn1.ASN1Sequence dns
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   11     1  excluded  Ljava/util/Set;
            0   11     2       dns  Lorg/bouncycastle/asn1/ASN1Sequence;
            3   11     3        it  Ljava/util/Iterator;
            5    9     4   subtree  Lorg/bouncycastle/asn1/ASN1Sequence;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
          Name  Flags
      excluded  
      dns       

  private java.util.Set intersectDN(java.util.Set, java.util.Set);
    descriptor: (Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // java.util.Set dns
         0: .line 135
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* intersect */
        start local 3 // java.util.Set intersect
         1: .line 136
            aload 2 /* dns */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         2: goto 19
         3: .line 138
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* it */
         4: .line 139
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.x509.GeneralSubtree
            invokevirtual org.bouncycastle.asn1.x509.GeneralSubtree.getBase:()Lorg/bouncycastle/asn1/x509/GeneralName;
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
         5: .line 138
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 5 /* dn */
        start local 5 // org.bouncycastle.asn1.ASN1Sequence dn
         6: .line 140
            aload 1 /* permitted */
            ifnonnull 10
         7: .line 142
            aload 5 /* dn */
            ifnull 19
         8: .line 144
            aload 3 /* intersect */
            aload 5 /* dn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 146
            goto 19
        10: .line 149
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* _iter */
        start local 6 // java.util.Iterator _iter
        11: .line 150
            goto 18
        12: .line 152
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* _iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 7 /* subtree */
        start local 7 // org.bouncycastle.asn1.ASN1Sequence subtree
        13: .line 154
            aload 5 /* dn */
            aload 7 /* subtree */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDNSubtree:(Lorg/bouncycastle/asn1/ASN1Sequence;Lorg/bouncycastle/asn1/ASN1Sequence;)Z
            ifeq 16
        14: .line 156
            aload 3 /* intersect */
            aload 5 /* dn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 157
            goto 18
        16: .line 158
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aload 7 /* subtree */
            aload 5 /* dn */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDNSubtree:(Lorg/bouncycastle/asn1/ASN1Sequence;Lorg/bouncycastle/asn1/ASN1Sequence;)Z
            ifeq 18
        17: .line 160
            aload 3 /* intersect */
            aload 7 /* subtree */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.bouncycastle.asn1.ASN1Sequence subtree
        18: .line 150
      StackMap locals:
      StackMap stack:
            aload 6 /* _iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 6 // java.util.Iterator _iter
        end local 5 // org.bouncycastle.asn1.ASN1Sequence dn
        19: .line 136
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 4 // java.util.Iterator it
        20: .line 165
            aload 3 /* intersect */
            areturn
        end local 3 // java.util.Set intersect
        end local 2 // java.util.Set dns
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   21     1  permitted  Ljava/util/Set;
            0   21     2        dns  Ljava/util/Set;
            1   21     3  intersect  Ljava/util/Set;
            2   20     4         it  Ljava/util/Iterator;
            6   19     5         dn  Lorg/bouncycastle/asn1/ASN1Sequence;
           11   19     6      _iter  Ljava/util/Iterator;
           13   18     7    subtree  Lorg/bouncycastle/asn1/ASN1Sequence;
    MethodParameters:
           Name  Flags
      permitted  
      dns        

  private java.util.Set unionDN(java.util.Set, org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Ljava/util/Set;Lorg/bouncycastle/asn1/ASN1Sequence;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // org.bouncycastle.asn1.ASN1Sequence dn
         0: .line 170
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         1: .line 172
            aload 2 /* dn */
            ifnonnull 3
         2: .line 174
            aload 1 /* excluded */
            areturn
         3: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            aload 2 /* dn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 178
            aload 1 /* excluded */
            areturn
         5: .line 182
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* intersect */
        start local 3 // java.util.Set intersect
         6: .line 184
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         7: .line 185
            goto 17
         8: .line 187
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 5 /* subtree */
        start local 5 // org.bouncycastle.asn1.ASN1Sequence subtree
         9: .line 189
            aload 2 /* dn */
            aload 5 /* subtree */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDNSubtree:(Lorg/bouncycastle/asn1/ASN1Sequence;Lorg/bouncycastle/asn1/ASN1Sequence;)Z
            ifeq 12
        10: .line 191
            aload 3 /* intersect */
            aload 5 /* subtree */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 192
            goto 17
        12: .line 193
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aload 5 /* subtree */
            aload 2 /* dn */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDNSubtree:(Lorg/bouncycastle/asn1/ASN1Sequence;Lorg/bouncycastle/asn1/ASN1Sequence;)Z
            ifeq 15
        13: .line 195
            aload 3 /* intersect */
            aload 2 /* dn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 196
            goto 17
        15: .line 199
      StackMap locals:
      StackMap stack:
            aload 3 /* intersect */
            aload 5 /* subtree */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 200
            aload 3 /* intersect */
            aload 2 /* dn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.bouncycastle.asn1.ASN1Sequence subtree
        17: .line 185
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        18: .line 204
            aload 3 /* intersect */
            areturn
        end local 4 // java.util.Iterator it
        end local 3 // java.util.Set intersect
        end local 2 // org.bouncycastle.asn1.ASN1Sequence dn
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   19     1   excluded  Ljava/util/Set;
            0   19     2         dn  Lorg/bouncycastle/asn1/ASN1Sequence;
            6   19     3  intersect  Ljava/util/Set;
            7   19     4         it  Ljava/util/Iterator;
            9   17     5    subtree  Lorg/bouncycastle/asn1/ASN1Sequence;
    MethodParameters:
          Name  Flags
      excluded  
      dn        

  private java.util.Set intersectEmail(java.util.Set, java.util.Set);
    descriptor: (Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // java.util.Set emails
         0: .line 210
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* intersect */
        start local 3 // java.util.Set intersect
         1: .line 211
            aload 2 /* emails */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         2: goto 15
         3: .line 213
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.x509.GeneralSubtree
         4: .line 214
            invokevirtual org.bouncycastle.asn1.x509.GeneralSubtree.getBase:()Lorg/bouncycastle/asn1/x509/GeneralName;
         5: .line 213
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractNameAsString:(Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
            astore 5 /* email */
        start local 5 // java.lang.String email
         6: .line 216
            aload 1 /* permitted */
            ifnonnull 10
         7: .line 218
            aload 5 /* email */
            ifnull 15
         8: .line 220
            aload 3 /* intersect */
            aload 5 /* email */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 222
            goto 15
        10: .line 225
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* it2 */
        start local 6 // java.util.Iterator it2
        11: .line 226
            goto 14
        12: .line 228
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* it2 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* _permitted */
        start local 7 // java.lang.String _permitted
        13: .line 230
            aload 0 /* this */
            aload 5 /* email */
            aload 7 /* _permitted */
            aload 3 /* intersect */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectEmail:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
        end local 7 // java.lang.String _permitted
        14: .line 226
      StackMap locals:
      StackMap stack:
            aload 6 /* it2 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 6 // java.util.Iterator it2
        end local 5 // java.lang.String email
        15: .line 211
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 4 // java.util.Iterator it
        16: .line 234
            aload 3 /* intersect */
            areturn
        end local 3 // java.util.Set intersect
        end local 2 // java.util.Set emails
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   17     1   permitted  Ljava/util/Set;
            0   17     2      emails  Ljava/util/Set;
            1   17     3   intersect  Ljava/util/Set;
            2   16     4          it  Ljava/util/Iterator;
            6   15     5       email  Ljava/lang/String;
           11   15     6         it2  Ljava/util/Iterator;
           13   14     7  _permitted  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      permitted  
      emails     

  private java.util.Set unionEmail(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // java.lang.String email
         0: .line 239
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         1: .line 241
            aload 2 /* email */
            ifnonnull 3
         2: .line 243
            aload 1 /* excluded */
            areturn
         3: .line 245
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            aload 2 /* email */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 246
            aload 1 /* excluded */
            areturn
         5: .line 250
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* union */
        start local 3 // java.util.Set union
         6: .line 252
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         7: .line 253
            goto 10
         8: .line 255
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* _excluded */
        start local 5 // java.lang.String _excluded
         9: .line 257
            aload 0 /* this */
            aload 5 /* _excluded */
            aload 2 /* email */
            aload 3 /* union */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.unionEmail:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
        end local 5 // java.lang.String _excluded
        10: .line 253
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 260
            aload 3 /* union */
            areturn
        end local 4 // java.util.Iterator it
        end local 3 // java.util.Set union
        end local 2 // java.lang.String email
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   12     1   excluded  Ljava/util/Set;
            0   12     2      email  Ljava/lang/String;
            6   12     3      union  Ljava/util/Set;
            7   12     4         it  Ljava/util/Iterator;
            9   10     5  _excluded  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      excluded  
      email     

  private java.util.Set intersectIP(java.util.Set, java.util.Set);
    descriptor: (Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // java.util.Set ips
         0: .line 276
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* intersect */
        start local 3 // java.util.Set intersect
         1: .line 277
            aload 2 /* ips */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         2: goto 16
         3: .line 280
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.x509.GeneralSubtree
            invokevirtual org.bouncycastle.asn1.x509.GeneralSubtree.getBase:()Lorg/bouncycastle/asn1/x509/GeneralName;
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
         4: .line 279
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
         5: .line 280
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
         6: .line 279
            astore 5 /* ip */
        start local 5 // byte[] ip
         7: .line 281
            aload 1 /* permitted */
            ifnonnull 11
         8: .line 283
            aload 5 /* ip */
            ifnull 16
         9: .line 285
            aload 3 /* intersect */
            aload 5 /* ip */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 287
            goto 16
        11: .line 290
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* it2 */
        start local 6 // java.util.Iterator it2
        12: .line 291
            goto 15
        13: .line 293
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* it2 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 7 /* _permitted */
        start local 7 // byte[] _permitted
        14: .line 294
            aload 3 /* intersect */
            aload 0 /* this */
            aload 7 /* _permitted */
            aload 5 /* ip */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectIPRange:([B[B)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // byte[] _permitted
        15: .line 291
      StackMap locals:
      StackMap stack:
            aload 6 /* it2 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 6 // java.util.Iterator it2
        end local 5 // byte[] ip
        16: .line 277
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 4 // java.util.Iterator it
        17: .line 298
            aload 3 /* intersect */
            areturn
        end local 3 // java.util.Set intersect
        end local 2 // java.util.Set ips
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   18     1   permitted  Ljava/util/Set;
            0   18     2         ips  Ljava/util/Set;
            1   18     3   intersect  Ljava/util/Set;
            2   17     4          it  Ljava/util/Iterator;
            7   16     5          ip  [B
           12   16     6         it2  Ljava/util/Iterator;
           14   15     7  _permitted  [B
    MethodParameters:
           Name  Flags
      permitted  
      ips        

  private java.util.Set unionIP(java.util.Set, byte[]);
    descriptor: (Ljava/util/Set;[B)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // byte[] ip
         0: .line 313
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         1: .line 315
            aload 2 /* ip */
            ifnonnull 3
         2: .line 317
            aload 1 /* excluded */
            areturn
         3: .line 319
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            aload 2 /* ip */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 321
            aload 1 /* excluded */
            areturn
         5: .line 325
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* union */
        start local 3 // java.util.Set union
         6: .line 327
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         7: .line 328
            goto 10
         8: .line 330
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 5 /* _excluded */
        start local 5 // byte[] _excluded
         9: .line 331
            aload 3 /* union */
            aload 0 /* this */
            aload 5 /* _excluded */
            aload 2 /* ip */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.unionIPRange:([B[B)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 5 // byte[] _excluded
        10: .line 328
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 334
            aload 3 /* union */
            areturn
        end local 4 // java.util.Iterator it
        end local 3 // java.util.Set union
        end local 2 // byte[] ip
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   12     1   excluded  Ljava/util/Set;
            0   12     2         ip  [B
            6   12     3      union  Ljava/util/Set;
            7   12     4         it  Ljava/util/Iterator;
            9   10     5  _excluded  [B
    MethodParameters:
          Name  Flags
      excluded  
      ip        

  private java.util.Set unionIPRange(byte[], byte[]);
    descriptor: ([B[B)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // byte[] ipWithSubmask1
        start local 2 // byte[] ipWithSubmask2
         0: .line 347
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* set */
        start local 3 // java.util.Set set
         1: .line 350
            aload 1 /* ipWithSubmask1 */
            aload 2 /* ipWithSubmask2 */
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ifeq 4
         2: .line 352
            aload 3 /* set */
            aload 1 /* ipWithSubmask1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 353
            goto 6
         4: .line 356
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* set */
            aload 1 /* ipWithSubmask1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 357
            aload 3 /* set */
            aload 2 /* ipWithSubmask2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 359
      StackMap locals:
      StackMap stack:
            aload 3 /* set */
            areturn
        end local 3 // java.util.Set set
        end local 2 // byte[] ipWithSubmask2
        end local 1 // byte[] ipWithSubmask1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0    7     1  ipWithSubmask1  [B
            0    7     2  ipWithSubmask2  [B
            1    7     3             set  Ljava/util/Set;
    MethodParameters:
                Name  Flags
      ipWithSubmask1  
      ipWithSubmask2  

  private java.util.Set intersectIPRange(byte[], byte[]);
    descriptor: ([B[B)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // byte[] ipWithSubmask1
        start local 2 // byte[] ipWithSubmask2
         0: .line 372
            aload 1 /* ipWithSubmask1 */
            arraylength
            aload 2 /* ipWithSubmask2 */
            arraylength
            if_icmpeq 2
         1: .line 374
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            areturn
         2: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ipWithSubmask1 */
            aload 2 /* ipWithSubmask2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractIPsAndSubnetMasks:([B[B)[[B
            astore 3 /* temp */
        start local 3 // byte[][] temp
         3: .line 377
            aload 3 /* temp */
            iconst_0
            aaload
            astore 4 /* ip1 */
        start local 4 // byte[] ip1
         4: .line 378
            aload 3 /* temp */
            iconst_1
            aaload
            astore 5 /* subnetmask1 */
        start local 5 // byte[] subnetmask1
         5: .line 379
            aload 3 /* temp */
            iconst_2
            aaload
            astore 6 /* ip2 */
        start local 6 // byte[] ip2
         6: .line 380
            aload 3 /* temp */
            iconst_3
            aaload
            astore 7 /* subnetmask2 */
        start local 7 // byte[] subnetmask2
         7: .line 382
            aload 0 /* this */
            aload 4 /* ip1 */
            aload 5 /* subnetmask1 */
            aload 6 /* ip2 */
            aload 7 /* subnetmask2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.minMaxIPs:([B[B[B[B)[[B
            astore 8 /* minMax */
        start local 8 // byte[][] minMax
         8: .line 385
            aload 8 /* minMax */
            iconst_1
            aaload
            aload 8 /* minMax */
            iconst_3
            aaload
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.min:([B[B)[B
            astore 10 /* max */
        start local 10 // byte[] max
         9: .line 386
            aload 8 /* minMax */
            iconst_0
            aaload
            aload 8 /* minMax */
            iconst_2
            aaload
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.max:([B[B)[B
            astore 9 /* min */
        start local 9 // byte[] min
        10: .line 389
            aload 9 /* min */
            aload 10 /* max */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.compareTo:([B[B)I
            iconst_1
            if_icmpne 12
        11: .line 391
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            areturn
        12: .line 394
      StackMap locals: org.bouncycastle.jce.provider.PKIXNameConstraintValidator byte[] byte[] byte[][] byte[] byte[] byte[] byte[] byte[][] byte[] byte[]
      StackMap stack:
            aload 8 /* minMax */
            iconst_0
            aaload
            aload 8 /* minMax */
            iconst_2
            aaload
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.or:([B[B)[B
            astore 11 /* ip */
        start local 11 // byte[] ip
        13: .line 395
            aload 5 /* subnetmask1 */
            aload 7 /* subnetmask2 */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.or:([B[B)[B
            astore 12 /* subnetmask */
        start local 12 // byte[] subnetmask
        14: .line 396
            aload 0 /* this */
            aload 11 /* ip */
            aload 12 /* subnetmask */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.ipWithSubnetMask:([B[B)[B
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            areturn
        end local 12 // byte[] subnetmask
        end local 11 // byte[] ip
        end local 10 // byte[] max
        end local 9 // byte[] min
        end local 8 // byte[][] minMax
        end local 7 // byte[] subnetmask2
        end local 6 // byte[] ip2
        end local 5 // byte[] subnetmask1
        end local 4 // byte[] ip1
        end local 3 // byte[][] temp
        end local 2 // byte[] ipWithSubmask2
        end local 1 // byte[] ipWithSubmask1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   15     1  ipWithSubmask1  [B
            0   15     2  ipWithSubmask2  [B
            3   15     3            temp  [[B
            4   15     4             ip1  [B
            5   15     5     subnetmask1  [B
            6   15     6             ip2  [B
            7   15     7     subnetmask2  [B
            8   15     8          minMax  [[B
           10   15     9             min  [B
            9   15    10             max  [B
           13   15    11              ip  [B
           14   15    12      subnetmask  [B
    MethodParameters:
                Name  Flags
      ipWithSubmask1  
      ipWithSubmask2  

  private byte[] ipWithSubnetMask(byte[], byte[]);
    descriptor: ([B[B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // byte[] ip
        start local 2 // byte[] subnetMask
         0: .line 408
            aload 1 /* ip */
            arraylength
            istore 3 /* ipLength */
        start local 3 // int ipLength
         1: .line 409
            iload 3 /* ipLength */
            iconst_2
            imul
            newarray 8
            astore 4 /* temp */
        start local 4 // byte[] temp
         2: .line 410
            aload 1 /* ip */
            iconst_0
            aload 4 /* temp */
            iconst_0
            iload 3 /* ipLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 411
            aload 2 /* subnetMask */
            iconst_0
            aload 4 /* temp */
            iload 3 /* ipLength */
            iload 3 /* ipLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 412
            aload 4 /* temp */
            areturn
        end local 4 // byte[] temp
        end local 3 // int ipLength
        end local 2 // byte[] subnetMask
        end local 1 // byte[] ip
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0    5     1          ip  [B
            0    5     2  subnetMask  [B
            1    5     3    ipLength  I
            2    5     4        temp  [B
    MethodParameters:
            Name  Flags
      ip          
      subnetMask  

  private byte[][] extractIPsAndSubnetMasks(byte[], byte[]);
    descriptor: ([B[B)[[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // byte[] ipWithSubmask1
        start local 2 // byte[] ipWithSubmask2
         0: .line 427
            aload 1 /* ipWithSubmask1 */
            arraylength
            iconst_2
            idiv
            istore 3 /* ipLength */
        start local 3 // int ipLength
         1: .line 428
            iload 3 /* ipLength */
            newarray 8
            astore 4 /* ip1 */
        start local 4 // byte[] ip1
         2: .line 429
            iload 3 /* ipLength */
            newarray 8
            astore 5 /* subnetmask1 */
        start local 5 // byte[] subnetmask1
         3: .line 430
            aload 1 /* ipWithSubmask1 */
            iconst_0
            aload 4 /* ip1 */
            iconst_0
            iload 3 /* ipLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 431
            aload 1 /* ipWithSubmask1 */
            iload 3 /* ipLength */
            aload 5 /* subnetmask1 */
            iconst_0
            iload 3 /* ipLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 433
            iload 3 /* ipLength */
            newarray 8
            astore 6 /* ip2 */
        start local 6 // byte[] ip2
         6: .line 434
            iload 3 /* ipLength */
            newarray 8
            astore 7 /* subnetmask2 */
        start local 7 // byte[] subnetmask2
         7: .line 435
            aload 2 /* ipWithSubmask2 */
            iconst_0
            aload 6 /* ip2 */
            iconst_0
            iload 3 /* ipLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 436
            aload 2 /* ipWithSubmask2 */
            iload 3 /* ipLength */
            aload 7 /* subnetmask2 */
            iconst_0
            iload 3 /* ipLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 438
            iconst_4
            anewarray byte[]
            dup
            iconst_0
            aload 4 /* ip1 */
            aastore
            dup
            iconst_1
            aload 5 /* subnetmask1 */
            aastore
            dup
            iconst_2
            aload 6 /* ip2 */
            aastore
            dup
            iconst_3
            aload 7 /* subnetmask2 */
            aastore
        10: .line 437
            areturn
        end local 7 // byte[] subnetmask2
        end local 6 // byte[] ip2
        end local 5 // byte[] subnetmask1
        end local 4 // byte[] ip1
        end local 3 // int ipLength
        end local 2 // byte[] ipWithSubmask2
        end local 1 // byte[] ipWithSubmask1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   11     1  ipWithSubmask1  [B
            0   11     2  ipWithSubmask2  [B
            1   11     3        ipLength  I
            2   11     4             ip1  [B
            3   11     5     subnetmask1  [B
            6   11     6             ip2  [B
            7   11     7     subnetmask2  [B
    MethodParameters:
                Name  Flags
      ipWithSubmask1  
      ipWithSubmask2  

  private byte[][] minMaxIPs(byte[], byte[], byte[], byte[]);
    descriptor: ([B[B[B[B)[[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // byte[] ip1
        start local 2 // byte[] subnetmask1
        start local 3 // byte[] ip2
        start local 4 // byte[] subnetmask2
         0: .line 460
            aload 1 /* ip1 */
            arraylength
            istore 5 /* ipLength */
        start local 5 // int ipLength
         1: .line 461
            iload 5 /* ipLength */
            newarray 8
            astore 6 /* min1 */
        start local 6 // byte[] min1
         2: .line 462
            iload 5 /* ipLength */
            newarray 8
            astore 7 /* max1 */
        start local 7 // byte[] max1
         3: .line 464
            iload 5 /* ipLength */
            newarray 8
            astore 8 /* min2 */
        start local 8 // byte[] min2
         4: .line 465
            iload 5 /* ipLength */
            newarray 8
            astore 9 /* max2 */
        start local 9 // byte[] max2
         5: .line 467
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         6: goto 12
         7: .line 469
      StackMap locals: org.bouncycastle.jce.provider.PKIXNameConstraintValidator byte[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] int
      StackMap stack:
            aload 6 /* min1 */
            iload 10 /* i */
            aload 1 /* ip1 */
            iload 10 /* i */
            baload
            aload 2 /* subnetmask1 */
            iload 10 /* i */
            baload
            iand
            i2b
            bastore
         8: .line 470
            aload 7 /* max1 */
            iload 10 /* i */
            aload 1 /* ip1 */
            iload 10 /* i */
            baload
            aload 2 /* subnetmask1 */
            iload 10 /* i */
            baload
            iand
            aload 2 /* subnetmask1 */
            iload 10 /* i */
            baload
            iconst_m1
            ixor
            ior
            i2b
            bastore
         9: .line 472
            aload 8 /* min2 */
            iload 10 /* i */
            aload 3 /* ip2 */
            iload 10 /* i */
            baload
            aload 4 /* subnetmask2 */
            iload 10 /* i */
            baload
            iand
            i2b
            bastore
        10: .line 473
            aload 9 /* max2 */
            iload 10 /* i */
            aload 3 /* ip2 */
            iload 10 /* i */
            baload
            aload 4 /* subnetmask2 */
            iload 10 /* i */
            baload
            iand
            aload 4 /* subnetmask2 */
            iload 10 /* i */
            baload
            iconst_m1
            ixor
            ior
            i2b
            bastore
        11: .line 467
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 10 /* i */
            iload 5 /* ipLength */
            if_icmplt 7
        end local 10 // int i
        13: .line 476
            iconst_4
            anewarray byte[]
            dup
            iconst_0
            aload 6 /* min1 */
            aastore
            dup
            iconst_1
            aload 7 /* max1 */
            aastore
            dup
            iconst_2
            aload 8 /* min2 */
            aastore
            dup
            iconst_3
            aload 9 /* max2 */
            aastore
            areturn
        end local 9 // byte[] max2
        end local 8 // byte[] min2
        end local 7 // byte[] max1
        end local 6 // byte[] min1
        end local 5 // int ipLength
        end local 4 // byte[] subnetmask2
        end local 3 // byte[] ip2
        end local 2 // byte[] subnetmask1
        end local 1 // byte[] ip1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   14     1          ip1  [B
            0   14     2  subnetmask1  [B
            0   14     3          ip2  [B
            0   14     4  subnetmask2  [B
            1   14     5     ipLength  I
            2   14     6         min1  [B
            3   14     7         max1  [B
            4   14     8         min2  [B
            5   14     9         max2  [B
            6   13    10            i  I
    MethodParameters:
             Name  Flags
      ip1          
      subnetmask1  
      ip2          
      subnetmask2  

  private void checkPermittedEmail(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // java.lang.String email
         0: .line 482
            aload 1 /* permitted */
            ifnonnull 2
         1: .line 484
            return
         2: .line 487
      StackMap locals:
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 489
            goto 7
         4: .line 491
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* str */
        start local 4 // java.lang.String str
         5: .line 493
            aload 0 /* this */
            aload 2 /* email */
            aload 4 /* str */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.emailIsConstrained:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 7
         6: .line 495
            return
        end local 4 // java.lang.String str
         7: .line 489
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 499
            aload 2 /* email */
            invokevirtual java.lang.String.length:()I
            ifne 10
            aload 1 /* permitted */
            invokeinterface java.util.Set.size:()I
            ifne 10
         9: .line 501
            return
        10: .line 504
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
        11: .line 505
            ldc "Subject email address is not from a permitted subtree."
        12: .line 504
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Iterator it
        end local 2 // java.lang.String email
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   13     1  permitted  Ljava/util/Set;
            0   13     2      email  Ljava/lang/String;
            3   13     3         it  Ljava/util/Iterator;
            5    7     4        str  Ljava/lang/String;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
           Name  Flags
      permitted  
      email      

  private void checkExcludedEmail(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // java.lang.String email
         0: .line 511
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 513
            return
         2: .line 516
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 518
            goto 9
         4: .line 520
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* str */
        start local 4 // java.lang.String str
         5: .line 522
            aload 0 /* this */
            aload 2 /* email */
            aload 4 /* str */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.emailIsConstrained:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 9
         6: .line 524
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
         7: .line 525
            ldc "Email address is from an excluded subtree."
         8: .line 524
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String str
         9: .line 518
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 528
            return
        end local 3 // java.util.Iterator it
        end local 2 // java.lang.String email
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   11     1  excluded  Ljava/util/Set;
            0   11     2     email  Ljava/lang/String;
            3   11     3        it  Ljava/util/Iterator;
            5    9     4       str  Ljava/lang/String;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
          Name  Flags
      excluded  
      email     

  private void checkPermittedIP(java.util.Set, byte[]);
    descriptor: (Ljava/util/Set;[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // byte[] ip
         0: .line 543
            aload 1 /* permitted */
            ifnonnull 2
         1: .line 545
            return
         2: .line 548
      StackMap locals:
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 550
            goto 7
         4: .line 552
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 4 /* ipWithSubnet */
        start local 4 // byte[] ipWithSubnet
         5: .line 554
            aload 0 /* this */
            aload 2 /* ip */
            aload 4 /* ipWithSubnet */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.isIPConstrained:([B[B)Z
            ifeq 7
         6: .line 556
            return
        end local 4 // byte[] ipWithSubnet
         7: .line 550
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 559
            aload 2 /* ip */
            arraylength
            ifne 10
            aload 1 /* permitted */
            invokeinterface java.util.Set.size:()I
            ifne 10
         9: .line 561
            return
        10: .line 563
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
        11: .line 564
            ldc "IP is not from a permitted subtree."
        12: .line 563
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Iterator it
        end local 2 // byte[] ip
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   13     1     permitted  Ljava/util/Set;
            0   13     2            ip  [B
            3   13     3            it  Ljava/util/Iterator;
            5    7     4  ipWithSubnet  [B
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
           Name  Flags
      permitted  
      ip         

  private void checkExcludedIP(java.util.Set, byte[]);
    descriptor: (Ljava/util/Set;[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // byte[] ip
         0: .line 580
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 582
            return
         2: .line 585
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 587
            goto 9
         4: .line 589
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 4 /* ipWithSubnet */
        start local 4 // byte[] ipWithSubnet
         5: .line 591
            aload 0 /* this */
            aload 2 /* ip */
            aload 4 /* ipWithSubnet */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.isIPConstrained:([B[B)Z
            ifeq 9
         6: .line 593
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
         7: .line 594
            ldc "IP is from an excluded subtree."
         8: .line 593
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // byte[] ipWithSubnet
         9: .line 587
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 597
            return
        end local 3 // java.util.Iterator it
        end local 2 // byte[] ip
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   11     1      excluded  Ljava/util/Set;
            0   11     2            ip  [B
            3   11     3            it  Ljava/util/Iterator;
            5    9     4  ipWithSubnet  [B
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
          Name  Flags
      excluded  
      ip        

  private boolean isIPConstrained(byte[], byte[]);
    descriptor: ([B[B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // byte[] ip
        start local 2 // byte[] constraint
         0: .line 611
            aload 1 /* ip */
            arraylength
            istore 3 /* ipLength */
        start local 3 // int ipLength
         1: .line 613
            iload 3 /* ipLength */
            aload 2 /* constraint */
            arraylength
            iconst_2
            idiv
            if_icmpeq 3
         2: .line 615
            iconst_0
            ireturn
         3: .line 618
      StackMap locals: int
      StackMap stack:
            iload 3 /* ipLength */
            newarray 8
            astore 4 /* subnetMask */
        start local 4 // byte[] subnetMask
         4: .line 619
            aload 2 /* constraint */
            iload 3 /* ipLength */
            aload 4 /* subnetMask */
            iconst_0
            iload 3 /* ipLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 621
            iload 3 /* ipLength */
            newarray 8
            astore 5 /* permittedSubnetAddress */
        start local 5 // byte[] permittedSubnetAddress
         6: .line 623
            iload 3 /* ipLength */
            newarray 8
            astore 6 /* ipSubnetAddress */
        start local 6 // byte[] ipSubnetAddress
         7: .line 626
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 12
         9: .line 628
      StackMap locals: org.bouncycastle.jce.provider.PKIXNameConstraintValidator byte[] byte[] int byte[] byte[] byte[] int
      StackMap stack:
            aload 5 /* permittedSubnetAddress */
            iload 7 /* i */
            aload 2 /* constraint */
            iload 7 /* i */
            baload
            aload 4 /* subnetMask */
            iload 7 /* i */
            baload
            iand
            i2b
            bastore
        10: .line 629
            aload 6 /* ipSubnetAddress */
            iload 7 /* i */
            aload 1 /* ip */
            iload 7 /* i */
            baload
            aload 4 /* subnetMask */
            iload 7 /* i */
            baload
            iand
            i2b
            bastore
        11: .line 626
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* i */
            iload 3 /* ipLength */
            if_icmplt 9
        end local 7 // int i
        13: .line 632
            aload 5 /* permittedSubnetAddress */
            aload 6 /* ipSubnetAddress */
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ireturn
        end local 6 // byte[] ipSubnetAddress
        end local 5 // byte[] permittedSubnetAddress
        end local 4 // byte[] subnetMask
        end local 3 // int ipLength
        end local 2 // byte[] constraint
        end local 1 // byte[] ip
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   14     0                    this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   14     1                      ip  [B
            0   14     2              constraint  [B
            1   14     3                ipLength  I
            4   14     4              subnetMask  [B
            6   14     5  permittedSubnetAddress  [B
            7   14     6         ipSubnetAddress  [B
            8   13     7                       i  I
    MethodParameters:
            Name  Flags
      ip          
      constraint  

  private boolean emailIsConstrained(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.String email
        start local 2 // java.lang.String constraint
         0: .line 637
            aload 1 /* email */
            aload 1 /* email */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* sub */
        start local 3 // java.lang.String sub
         1: .line 639
            aload 2 /* constraint */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 4
         2: .line 641
            aload 1 /* email */
            aload 2 /* constraint */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         3: .line 643
            iconst_1
            ireturn
         4: .line 647
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* constraint */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpeq 7
         5: .line 649
            aload 3 /* sub */
            aload 2 /* constraint */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 651
            iconst_1
            ireturn
         7: .line 655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* sub */
            aload 2 /* constraint */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 9
         8: .line 657
            iconst_1
            ireturn
         9: .line 659
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.String sub
        end local 2 // java.lang.String constraint
        end local 1 // java.lang.String email
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   10     1       email  Ljava/lang/String;
            0   10     2  constraint  Ljava/lang/String;
            1   10     3         sub  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      email       
      constraint  

  private boolean withinDomain(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.String testDomain
        start local 2 // java.lang.String domain
         0: .line 664
            aload 2 /* domain */
            astore 3 /* tempDomain */
        start local 3 // java.lang.String tempDomain
         1: .line 665
            aload 3 /* tempDomain */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 667
            aload 3 /* tempDomain */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* tempDomain */
         3: .line 669
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* tempDomain */
            bipush 46
            invokestatic org.bouncycastle.util.Strings.split:(Ljava/lang/String;C)[Ljava/lang/String;
            astore 4 /* domainParts */
        start local 4 // java.lang.String[] domainParts
         4: .line 670
            aload 1 /* testDomain */
            bipush 46
            invokestatic org.bouncycastle.util.Strings.split:(Ljava/lang/String;C)[Ljava/lang/String;
            astore 5 /* testDomainParts */
        start local 5 // java.lang.String[] testDomainParts
         5: .line 672
            aload 5 /* testDomainParts */
            arraylength
            aload 4 /* domainParts */
            arraylength
            if_icmpgt 7
         6: .line 674
            iconst_0
            ireturn
         7: .line 676
      StackMap locals: java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 5 /* testDomainParts */
            arraylength
            aload 4 /* domainParts */
            arraylength
            isub
            istore 6 /* d */
        start local 6 // int d
         8: .line 677
            iconst_m1
            istore 7 /* i */
        start local 7 // int i
         9: goto 16
        10: .line 679
      StackMap locals: int int
      StackMap stack:
            iload 7 /* i */
            iconst_m1
            if_icmpne 13
        11: .line 681
            aload 5 /* testDomainParts */
            iload 7 /* i */
            iload 6 /* d */
            iadd
            aaload
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        12: .line 683
            iconst_0
            ireturn
        13: .line 686
      StackMap locals:
      StackMap stack:
            aload 4 /* domainParts */
            iload 7 /* i */
            aaload
            aload 5 /* testDomainParts */
            iload 7 /* i */
            iload 6 /* d */
            iadd
            aaload
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 15
        14: .line 688
            iconst_0
            ireturn
        15: .line 677
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* i */
            aload 4 /* domainParts */
            arraylength
            if_icmplt 10
        end local 7 // int i
        17: .line 691
            iconst_1
            ireturn
        end local 6 // int d
        end local 5 // java.lang.String[] testDomainParts
        end local 4 // java.lang.String[] domainParts
        end local 3 // java.lang.String tempDomain
        end local 2 // java.lang.String domain
        end local 1 // java.lang.String testDomain
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   18     1       testDomain  Ljava/lang/String;
            0   18     2           domain  Ljava/lang/String;
            1   18     3       tempDomain  Ljava/lang/String;
            4   18     4      domainParts  [Ljava/lang/String;
            5   18     5  testDomainParts  [Ljava/lang/String;
            8   18     6                d  I
            9   17     7                i  I
    MethodParameters:
            Name  Flags
      testDomain  
      domain      

  private void checkPermittedDNS(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // java.lang.String dns
         0: .line 697
            aload 1 /* permitted */
            ifnonnull 2
         1: .line 699
            return
         2: .line 702
      StackMap locals:
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 704
            goto 7
         4: .line 706
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* str */
        start local 4 // java.lang.String str
         5: .line 709
            aload 0 /* this */
            aload 2 /* dns */
            aload 4 /* str */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 6
            aload 2 /* dns */
            aload 4 /* str */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 711
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 4 // java.lang.String str
         7: .line 704
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 714
            aload 2 /* dns */
            invokevirtual java.lang.String.length:()I
            ifne 10
            aload 1 /* permitted */
            invokeinterface java.util.Set.size:()I
            ifne 10
         9: .line 716
            return
        10: .line 718
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
        11: .line 719
            ldc "DNS is not from a permitted subtree."
        12: .line 718
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Iterator it
        end local 2 // java.lang.String dns
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   13     1  permitted  Ljava/util/Set;
            0   13     2        dns  Ljava/lang/String;
            3   13     3         it  Ljava/util/Iterator;
            5    7     4        str  Ljava/lang/String;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
           Name  Flags
      permitted  
      dns        

  private void checkExcludedDNS(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // java.lang.String dns
         0: .line 725
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 727
            return
         2: .line 730
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 732
            goto 9
         4: .line 734
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* str */
        start local 4 // java.lang.String str
         5: .line 737
            aload 0 /* this */
            aload 2 /* dns */
            aload 4 /* str */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 6
            aload 2 /* dns */
            aload 4 /* str */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 739
      StackMap locals: java.lang.String
      StackMap stack:
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
         7: .line 740
            ldc "DNS is from an excluded subtree."
         8: .line 739
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String str
         9: .line 732
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 743
            return
        end local 3 // java.util.Iterator it
        end local 2 // java.lang.String dns
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   11     1  excluded  Ljava/util/Set;
            0   11     2       dns  Ljava/lang/String;
            3   11     3        it  Ljava/util/Iterator;
            5    9     4       str  Ljava/lang/String;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
          Name  Flags
      excluded  
      dns       

  private void unionEmail(java.lang.String, java.lang.String, java.util.Set);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.String email1
        start local 2 // java.lang.String email2
        start local 3 // java.util.Set union
         0: .line 757
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 22
         1: .line 759
            aload 1 /* email1 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
         2: .line 761
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 9
         3: .line 763
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 765
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 766
            goto 68
         6: .line 769
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 770
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 772
            goto 68
         9: .line 774
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 16
        10: .line 776
            aload 0 /* this */
            aload 4 /* _sub */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 13
        11: .line 778
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 779
            goto 68
        13: .line 782
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 783
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 785
            goto 68
        16: .line 789
      StackMap locals:
      StackMap stack:
            aload 4 /* _sub */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        17: .line 791
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        18: .line 792
            goto 68
        19: .line 795
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        20: .line 796
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        21: .line 799
            goto 68
        22: .line 801
      StackMap locals:
      StackMap stack:
            aload 1 /* email1 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 48
        23: .line 803
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 31
        24: .line 805
            aload 2 /* email2 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
        25: .line 806
            aload 0 /* this */
            aload 4 /* _sub */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 28
        26: .line 808
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        27: .line 809
            goto 68
        28: .line 812
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 813
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        30: .line 815
            goto 68
        31: .line 817
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 42
        32: .line 819
            aload 0 /* this */
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 34
        33: .line 820
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 36
        34: .line 822
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        35: .line 823
            goto 68
        36: .line 824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* email2 */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 39
        37: .line 826
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 827
            goto 68
        39: .line 830
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        40: .line 831
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        41: .line 833
            goto 68
        42: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* email2 */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 45
        43: .line 838
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        44: .line 839
            goto 68
        45: .line 842
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        46: .line 843
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        47: .line 846
            goto 68
        48: .line 850
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 56
        49: .line 852
            aload 2 /* email2 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
        50: .line 853
            aload 4 /* _sub */
            aload 1 /* email1 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 53
        51: .line 855
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        52: .line 856
            goto 68
        53: .line 859
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        54: .line 860
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        55: .line 862
            goto 68
        56: .line 864
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 63
        57: .line 866
            aload 0 /* this */
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 60
        58: .line 868
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        59: .line 869
            goto 68
        60: .line 872
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        61: .line 873
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        62: .line 875
            goto 68
        63: .line 879
      StackMap locals:
      StackMap stack:
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 66
        64: .line 881
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        65: .line 882
            goto 68
        66: .line 885
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        67: .line 886
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        68: .line 890
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Set union
        end local 2 // java.lang.String email2
        end local 1 // java.lang.String email1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   69     0    this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   69     1  email1  Ljava/lang/String;
            0   69     2  email2  Ljava/lang/String;
            0   69     3   union  Ljava/util/Set;
            2   21     4    _sub  Ljava/lang/String;
           25   30     4    _sub  Ljava/lang/String;
           50   55     4    _sub  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      email1  
      email2  
      union   

  private void unionURI(java.lang.String, java.lang.String, java.util.Set);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.String email1
        start local 2 // java.lang.String email2
        start local 3 // java.util.Set union
         0: .line 895
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 22
         1: .line 897
            aload 1 /* email1 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
         2: .line 899
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 9
         3: .line 901
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 903
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 904
            goto 68
         6: .line 907
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 908
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 910
            goto 68
         9: .line 912
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 16
        10: .line 914
            aload 0 /* this */
            aload 4 /* _sub */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 13
        11: .line 916
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 917
            goto 68
        13: .line 920
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 921
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 923
            goto 68
        16: .line 927
      StackMap locals:
      StackMap stack:
            aload 4 /* _sub */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        17: .line 929
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        18: .line 930
            goto 68
        19: .line 933
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        20: .line 934
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        21: .line 937
            goto 68
        22: .line 939
      StackMap locals:
      StackMap stack:
            aload 1 /* email1 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 48
        23: .line 941
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 31
        24: .line 943
            aload 2 /* email2 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
        25: .line 944
            aload 0 /* this */
            aload 4 /* _sub */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 28
        26: .line 946
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        27: .line 947
            goto 68
        28: .line 950
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 951
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        30: .line 953
            goto 68
        31: .line 955
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 42
        32: .line 957
            aload 0 /* this */
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 34
        33: .line 958
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 36
        34: .line 960
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        35: .line 961
            goto 68
        36: .line 962
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* email2 */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 39
        37: .line 964
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 965
            goto 68
        39: .line 968
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        40: .line 969
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        41: .line 971
            goto 68
        42: .line 974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* email2 */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 45
        43: .line 976
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        44: .line 977
            goto 68
        45: .line 980
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        46: .line 981
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        47: .line 984
            goto 68
        48: .line 988
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 56
        49: .line 990
            aload 2 /* email2 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
        50: .line 991
            aload 4 /* _sub */
            aload 1 /* email1 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 53
        51: .line 993
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        52: .line 994
            goto 68
        53: .line 997
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        54: .line 998
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        55: .line 1000
            goto 68
        56: .line 1002
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 63
        57: .line 1004
            aload 0 /* this */
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 60
        58: .line 1006
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        59: .line 1007
            goto 68
        60: .line 1010
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        61: .line 1011
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        62: .line 1013
            goto 68
        63: .line 1017
      StackMap locals:
      StackMap stack:
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 66
        64: .line 1019
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        65: .line 1020
            goto 68
        66: .line 1023
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        67: .line 1024
            aload 3 /* union */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        68: .line 1028
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Set union
        end local 2 // java.lang.String email2
        end local 1 // java.lang.String email1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   69     0    this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   69     1  email1  Ljava/lang/String;
            0   69     2  email2  Ljava/lang/String;
            0   69     3   union  Ljava/util/Set;
            2   21     4    _sub  Ljava/lang/String;
           25   30     4    _sub  Ljava/lang/String;
           50   55     4    _sub  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      email1  
      email2  
      union   

  private java.util.Set intersectDNS(java.util.Set, java.util.Set);
    descriptor: (Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // java.util.Set dnss
         0: .line 1032
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* intersect */
        start local 3 // java.util.Set intersect
         1: .line 1033
            aload 2 /* dnss */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         2: goto 19
         3: .line 1035
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.x509.GeneralSubtree
         4: .line 1036
            invokevirtual org.bouncycastle.asn1.x509.GeneralSubtree.getBase:()Lorg/bouncycastle/asn1/x509/GeneralName;
         5: .line 1035
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractNameAsString:(Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
            astore 5 /* dns */
        start local 5 // java.lang.String dns
         6: .line 1037
            aload 1 /* permitted */
            ifnonnull 10
         7: .line 1039
            aload 5 /* dns */
            ifnull 19
         8: .line 1041
            aload 3 /* intersect */
            aload 5 /* dns */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1043
            goto 19
        10: .line 1046
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* _iter */
        start local 6 // java.util.Iterator _iter
        11: .line 1047
            goto 18
        12: .line 1049
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* _iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* _permitted */
        start local 7 // java.lang.String _permitted
        13: .line 1051
            aload 0 /* this */
            aload 7 /* _permitted */
            aload 5 /* dns */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 16
        14: .line 1053
            aload 3 /* intersect */
            aload 7 /* _permitted */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 1054
            goto 18
        16: .line 1055
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 5 /* dns */
            aload 7 /* _permitted */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 18
        17: .line 1057
            aload 3 /* intersect */
            aload 5 /* dns */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String _permitted
        18: .line 1047
      StackMap locals:
      StackMap stack:
            aload 6 /* _iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 6 // java.util.Iterator _iter
        end local 5 // java.lang.String dns
        19: .line 1033
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 4 // java.util.Iterator it
        20: .line 1063
            aload 3 /* intersect */
            areturn
        end local 3 // java.util.Set intersect
        end local 2 // java.util.Set dnss
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   21     1   permitted  Ljava/util/Set;
            0   21     2        dnss  Ljava/util/Set;
            1   21     3   intersect  Ljava/util/Set;
            2   20     4          it  Ljava/util/Iterator;
            6   19     5         dns  Ljava/lang/String;
           11   19     6       _iter  Ljava/util/Iterator;
           13   18     7  _permitted  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      permitted  
      dnss       

  protected java.util.Set unionDNS(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // java.lang.String dns
         0: .line 1068
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         1: .line 1070
            aload 2 /* dns */
            ifnonnull 3
         2: .line 1072
            aload 1 /* excluded */
            areturn
         3: .line 1074
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            aload 2 /* dns */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1076
            aload 1 /* excluded */
            areturn
         5: .line 1080
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* union */
        start local 3 // java.util.Set union
         6: .line 1082
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* _iter */
        start local 4 // java.util.Iterator _iter
         7: .line 1083
            goto 17
         8: .line 1085
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* _iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* _permitted */
        start local 5 // java.lang.String _permitted
         9: .line 1087
            aload 0 /* this */
            aload 5 /* _permitted */
            aload 2 /* dns */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 12
        10: .line 1089
            aload 3 /* union */
            aload 2 /* dns */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1090
            goto 17
        12: .line 1091
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dns */
            aload 5 /* _permitted */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 15
        13: .line 1093
            aload 3 /* union */
            aload 5 /* _permitted */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 1094
            goto 17
        15: .line 1097
      StackMap locals:
      StackMap stack:
            aload 3 /* union */
            aload 5 /* _permitted */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1098
            aload 3 /* union */
            aload 2 /* dns */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String _permitted
        17: .line 1083
      StackMap locals:
      StackMap stack:
            aload 4 /* _iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        18: .line 1102
            aload 3 /* union */
            areturn
        end local 4 // java.util.Iterator _iter
        end local 3 // java.util.Set union
        end local 2 // java.lang.String dns
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   19     1    excluded  Ljava/util/Set;
            0   19     2         dns  Ljava/lang/String;
            6   19     3       union  Ljava/util/Set;
            7   19     4       _iter  Ljava/util/Iterator;
            9   17     5  _permitted  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      excluded  
      dns       

  private void intersectEmail(java.lang.String, java.lang.String, java.util.Set);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.String email1
        start local 2 // java.lang.String email2
        start local 3 // java.util.Set intersect
         0: .line 1117
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 13
         1: .line 1119
            aload 1 /* email1 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
         2: .line 1121
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 6
         3: .line 1123
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
         4: .line 1125
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1127
            goto 41
         6: .line 1129
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         7: .line 1131
            aload 0 /* this */
            aload 4 /* _sub */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
         8: .line 1133
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1135
            goto 41
        10: .line 1139
      StackMap locals:
      StackMap stack:
            aload 4 /* _sub */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        11: .line 1141
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        12: .line 1144
            goto 41
        13: .line 1146
      StackMap locals:
      StackMap stack:
            aload 1 /* email1 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 30
        14: .line 1148
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 19
        15: .line 1150
            aload 2 /* email2 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
        16: .line 1151
            aload 0 /* this */
            aload 4 /* _sub */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
        17: .line 1153
            aload 3 /* intersect */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        18: .line 1155
            goto 41
        19: .line 1157
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        20: .line 1159
            aload 0 /* this */
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 22
        21: .line 1160
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 1162
      StackMap locals:
      StackMap stack:
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        23: .line 1163
            goto 41
        24: .line 1164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* email2 */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
        25: .line 1166
            aload 3 /* intersect */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        26: .line 1168
            goto 41
        27: .line 1171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* email2 */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
        28: .line 1173
            aload 3 /* intersect */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 1176
            goto 41
        30: .line 1180
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 35
        31: .line 1182
            aload 2 /* email2 */
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
        32: .line 1183
            aload 4 /* _sub */
            aload 1 /* email1 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        33: .line 1185
            aload 3 /* intersect */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        34: .line 1187
            goto 41
        35: .line 1189
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 39
        36: .line 1191
            aload 0 /* this */
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
        37: .line 1193
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1195
            goto 41
        39: .line 1199
      StackMap locals:
      StackMap stack:
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        40: .line 1201
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        41: .line 1205
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Set intersect
        end local 2 // java.lang.String email2
        end local 1 // java.lang.String email1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   42     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   42     1     email1  Ljava/lang/String;
            0   42     2     email2  Ljava/lang/String;
            0   42     3  intersect  Ljava/util/Set;
            2   12     4       _sub  Ljava/lang/String;
           16   18     4       _sub  Ljava/lang/String;
           32   34     4       _sub  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      email1     
      email2     
      intersect  

  private void checkExcludedURI(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // java.lang.String uri
         0: .line 1210
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 1212
            return
         2: .line 1215
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 1217
            goto 9
         4: .line 1219
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* str */
        start local 4 // java.lang.String str
         5: .line 1221
            aload 0 /* this */
            aload 2 /* uri */
            aload 4 /* str */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.isUriConstrained:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 9
         6: .line 1223
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
         7: .line 1224
            ldc "URI is from an excluded subtree."
         8: .line 1223
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String str
         9: .line 1217
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 1227
            return
        end local 3 // java.util.Iterator it
        end local 2 // java.lang.String uri
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   11     1  excluded  Ljava/util/Set;
            0   11     2       uri  Ljava/lang/String;
            3   11     3        it  Ljava/util/Iterator;
            5    9     4       str  Ljava/lang/String;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
          Name  Flags
      excluded  
      uri       

  private java.util.Set intersectURI(java.util.Set, java.util.Set);
    descriptor: (Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // java.util.Set uris
         0: .line 1231
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* intersect */
        start local 3 // java.util.Set intersect
         1: .line 1232
            aload 2 /* uris */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         2: goto 15
         3: .line 1234
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.x509.GeneralSubtree
         4: .line 1235
            invokevirtual org.bouncycastle.asn1.x509.GeneralSubtree.getBase:()Lorg/bouncycastle/asn1/x509/GeneralName;
         5: .line 1234
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractNameAsString:(Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
            astore 5 /* uri */
        start local 5 // java.lang.String uri
         6: .line 1236
            aload 1 /* permitted */
            ifnonnull 10
         7: .line 1238
            aload 5 /* uri */
            ifnull 15
         8: .line 1240
            aload 3 /* intersect */
            aload 5 /* uri */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1242
            goto 15
        10: .line 1245
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* _iter */
        start local 6 // java.util.Iterator _iter
        11: .line 1246
            goto 14
        12: .line 1248
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* _iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* _permitted */
        start local 7 // java.lang.String _permitted
        13: .line 1249
            aload 0 /* this */
            aload 7 /* _permitted */
            aload 5 /* uri */
            aload 3 /* intersect */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectURI:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
        end local 7 // java.lang.String _permitted
        14: .line 1246
      StackMap locals:
      StackMap stack:
            aload 6 /* _iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 6 // java.util.Iterator _iter
        end local 5 // java.lang.String uri
        15: .line 1232
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 4 // java.util.Iterator it
        16: .line 1253
            aload 3 /* intersect */
            areturn
        end local 3 // java.util.Set intersect
        end local 2 // java.util.Set uris
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   17     1   permitted  Ljava/util/Set;
            0   17     2        uris  Ljava/util/Set;
            1   17     3   intersect  Ljava/util/Set;
            2   16     4          it  Ljava/util/Iterator;
            6   15     5         uri  Ljava/lang/String;
           11   15     6       _iter  Ljava/util/Iterator;
           13   14     7  _permitted  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      permitted  
      uris       

  private java.util.Set unionURI(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set excluded
        start local 2 // java.lang.String uri
         0: .line 1258
            aload 1 /* excluded */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         1: .line 1260
            aload 2 /* uri */
            ifnonnull 3
         2: .line 1262
            aload 1 /* excluded */
            areturn
         3: .line 1264
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            aload 2 /* uri */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1266
            aload 1 /* excluded */
            areturn
         5: .line 1270
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* union */
        start local 3 // java.util.Set union
         6: .line 1272
            aload 1 /* excluded */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* _iter */
        start local 4 // java.util.Iterator _iter
         7: .line 1273
            goto 10
         8: .line 1275
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* _iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* _excluded */
        start local 5 // java.lang.String _excluded
         9: .line 1277
            aload 0 /* this */
            aload 5 /* _excluded */
            aload 2 /* uri */
            aload 3 /* union */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.unionURI:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
        end local 5 // java.lang.String _excluded
        10: .line 1273
      StackMap locals:
      StackMap stack:
            aload 4 /* _iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 1280
            aload 3 /* union */
            areturn
        end local 4 // java.util.Iterator _iter
        end local 3 // java.util.Set union
        end local 2 // java.lang.String uri
        end local 1 // java.util.Set excluded
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   12     1   excluded  Ljava/util/Set;
            0   12     2        uri  Ljava/lang/String;
            6   12     3      union  Ljava/util/Set;
            7   12     4      _iter  Ljava/util/Iterator;
            9   10     5  _excluded  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      excluded  
      uri       

  private void intersectURI(java.lang.String, java.lang.String, java.util.Set);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.String email1
        start local 2 // java.lang.String email2
        start local 3 // java.util.Set intersect
         0: .line 1287
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 13
         1: .line 1289
            aload 1 /* email1 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
         2: .line 1291
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 6
         3: .line 1293
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
         4: .line 1295
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1297
            goto 41
         6: .line 1299
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         7: .line 1301
            aload 0 /* this */
            aload 4 /* _sub */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
         8: .line 1303
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1305
            goto 41
        10: .line 1309
      StackMap locals:
      StackMap stack:
            aload 4 /* _sub */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        11: .line 1311
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        12: .line 1314
            goto 41
        13: .line 1316
      StackMap locals:
      StackMap stack:
            aload 1 /* email1 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 30
        14: .line 1318
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 19
        15: .line 1320
            aload 2 /* email2 */
            aload 1 /* email1 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
        16: .line 1321
            aload 0 /* this */
            aload 4 /* _sub */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
        17: .line 1323
            aload 3 /* intersect */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        18: .line 1325
            goto 41
        19: .line 1327
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        20: .line 1329
            aload 0 /* this */
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 22
        21: .line 1330
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 1332
      StackMap locals:
      StackMap stack:
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        23: .line 1333
            goto 41
        24: .line 1334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* email2 */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
        25: .line 1336
            aload 3 /* intersect */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        26: .line 1338
            goto 41
        27: .line 1341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* email2 */
            aload 1 /* email1 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
        28: .line 1343
            aload 3 /* intersect */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 1346
            goto 41
        30: .line 1350
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 35
        31: .line 1352
            aload 2 /* email2 */
            aload 2 /* email2 */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* _sub */
        start local 4 // java.lang.String _sub
        32: .line 1353
            aload 4 /* _sub */
            aload 1 /* email1 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        33: .line 1355
            aload 3 /* intersect */
            aload 2 /* email2 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String _sub
        34: .line 1357
            goto 41
        35: .line 1359
      StackMap locals:
      StackMap stack:
            aload 2 /* email2 */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 39
        36: .line 1361
            aload 0 /* this */
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 41
        37: .line 1363
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1365
            goto 41
        39: .line 1369
      StackMap locals:
      StackMap stack:
            aload 1 /* email1 */
            aload 2 /* email2 */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        40: .line 1371
            aload 3 /* intersect */
            aload 1 /* email1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        41: .line 1375
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Set intersect
        end local 2 // java.lang.String email2
        end local 1 // java.lang.String email1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   42     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   42     1     email1  Ljava/lang/String;
            0   42     2     email2  Ljava/lang/String;
            0   42     3  intersect  Ljava/util/Set;
            2   12     4       _sub  Ljava/lang/String;
           16   18     4       _sub  Ljava/lang/String;
           32   34     4       _sub  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      email1     
      email2     
      intersect  

  private void checkPermittedURI(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set permitted
        start local 2 // java.lang.String uri
         0: .line 1380
            aload 1 /* permitted */
            ifnonnull 2
         1: .line 1382
            return
         2: .line 1385
      StackMap locals:
      StackMap stack:
            aload 1 /* permitted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: .line 1387
            goto 7
         4: .line 1389
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* str */
        start local 4 // java.lang.String str
         5: .line 1391
            aload 0 /* this */
            aload 2 /* uri */
            aload 4 /* str */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.isUriConstrained:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 7
         6: .line 1393
            return
        end local 4 // java.lang.String str
         7: .line 1387
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 1396
            aload 2 /* uri */
            invokevirtual java.lang.String.length:()I
            ifne 10
            aload 1 /* permitted */
            invokeinterface java.util.Set.size:()I
            ifne 10
         9: .line 1398
            return
        10: .line 1400
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            dup
        11: .line 1401
            ldc "URI is not from a permitted subtree."
        12: .line 1400
            invokespecial org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Iterator it
        end local 2 // java.lang.String uri
        end local 1 // java.util.Set permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   13     1  permitted  Ljava/util/Set;
            0   13     2        uri  Ljava/lang/String;
            3   13     3         it  Ljava/util/Iterator;
            5    7     4        str  Ljava/lang/String;
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
           Name  Flags
      permitted  
      uri        

  private boolean isUriConstrained(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.String uri
        start local 2 // java.lang.String constraint
         0: .line 1406
            aload 1 /* uri */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractHostFromURL:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* host */
        start local 3 // java.lang.String host
         1: .line 1408
            aload 2 /* constraint */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
         2: .line 1410
            aload 3 /* host */
            aload 2 /* constraint */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         3: .line 1412
            iconst_1
            ireturn
         4: .line 1417
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* host */
            aload 2 /* constraint */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.withinDomain:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 6
         5: .line 1419
            iconst_1
            ireturn
         6: .line 1422
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.String host
        end local 2 // java.lang.String constraint
        end local 1 // java.lang.String uri
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0    7     1         uri  Ljava/lang/String;
            0    7     2  constraint  Ljava/lang/String;
            1    7     3        host  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      uri         
      constraint  

  private static java.lang.String extractHostFromURL(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String url
         0: .line 1429
            aload 0 /* url */
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* sub */
        start local 1 // java.lang.String sub
         1: .line 1431
            aload 1 /* sub */
            ldc "//"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 3
         2: .line 1433
            aload 1 /* sub */
            aload 1 /* sub */
            ldc "//"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* sub */
         3: .line 1436
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* sub */
            bipush 58
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_m1
            if_icmpeq 5
         4: .line 1438
            aload 1 /* sub */
            iconst_0
            aload 1 /* sub */
            bipush 58
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* sub */
         5: .line 1441
      StackMap locals:
      StackMap stack:
            aload 1 /* sub */
            aload 1 /* sub */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* sub */
         6: .line 1442
            aload 1 /* sub */
            aload 1 /* sub */
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* sub */
         7: .line 1444
            aload 1 /* sub */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 9
         8: .line 1446
            aload 1 /* sub */
            iconst_0
            aload 1 /* sub */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* sub */
         9: .line 1448
      StackMap locals:
      StackMap stack:
            aload 1 /* sub */
            areturn
        end local 1 // java.lang.String sub
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0   url  Ljava/lang/String;
            1   10     1   sub  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public void checkPermitted(org.bouncycastle.asn1.x509.GeneralName);
    descriptor: (Lorg/bouncycastle/asn1/x509/GeneralName;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // org.bouncycastle.asn1.x509.GeneralName name
         0: .line 1461
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
            tableswitch { // 1 - 7
                    1: 1
                    2: 5
                    3: 23
                    4: 11
                    5: 23
                    6: 15
                    7: 21
              default: 23
          }
         1: .line 1464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
         2: .line 1465
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractNameAsString:(Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
         3: .line 1464
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedEmail:(Ljava/util/Set;Ljava/lang/String;)V
         4: .line 1466
            goto 23
         5: .line 1468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
         6: .line 1469
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
         7: .line 1468
            invokestatic org.bouncycastle.asn1.DERIA5String.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERIA5String;
         8: .line 1469
            invokevirtual org.bouncycastle.asn1.DERIA5String.getString:()Ljava/lang/String;
         9: .line 1468
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedDNS:(Ljava/util/Set;Ljava/lang/String;)V
        10: .line 1470
            goto 23
        11: .line 1472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
        12: .line 1473
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
        13: .line 1472
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedDN:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
        14: .line 1474
            goto 23
        15: .line 1476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
        16: .line 1477
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
        17: .line 1476
            invokestatic org.bouncycastle.asn1.DERIA5String.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERIA5String;
        18: .line 1477
            invokevirtual org.bouncycastle.asn1.DERIA5String.getString:()Ljava/lang/String;
        19: .line 1476
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedURI:(Ljava/util/Set;Ljava/lang/String;)V
        20: .line 1478
            goto 23
        21: .line 1480
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            astore 2 /* ip */
        start local 2 // byte[] ip
        22: .line 1482
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
            aload 2 /* ip */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedIP:(Ljava/util/Set;[B)V
        end local 2 // byte[] ip
        23: .line 1484
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.bouncycastle.asn1.x509.GeneralName name
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   24     1  name  Lorg/bouncycastle/asn1/x509/GeneralName;
           22   23     2    ip  [B
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
      Name  Flags
      name  

  public void checkExcluded(org.bouncycastle.asn1.x509.GeneralName);
    descriptor: (Lorg/bouncycastle/asn1/x509/GeneralName;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // org.bouncycastle.asn1.x509.GeneralName name
         0: .line 1497
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
            tableswitch { // 1 - 7
                    1: 1
                    2: 3
                    3: 21
                    4: 9
                    5: 21
                    6: 13
                    7: 19
              default: 21
          }
         1: .line 1500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractNameAsString:(Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcludedEmail:(Ljava/util/Set;Ljava/lang/String;)V
         2: .line 1501
            goto 21
         3: .line 1503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
         4: .line 1504
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
         5: .line 1503
            invokestatic org.bouncycastle.asn1.DERIA5String.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERIA5String;
         6: .line 1504
            invokevirtual org.bouncycastle.asn1.DERIA5String.getString:()Ljava/lang/String;
         7: .line 1503
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcludedDNS:(Ljava/util/Set;Ljava/lang/String;)V
         8: .line 1505
            goto 21
         9: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
        10: .line 1508
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
        11: .line 1507
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcludedDN:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
        12: .line 1509
            goto 21
        13: .line 1511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
        14: .line 1512
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
        15: .line 1511
            invokestatic org.bouncycastle.asn1.DERIA5String.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERIA5String;
        16: .line 1512
            invokevirtual org.bouncycastle.asn1.DERIA5String.getString:()Ljava/lang/String;
        17: .line 1511
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcludedURI:(Ljava/util/Set;Ljava/lang/String;)V
        18: .line 1513
            goto 21
        19: .line 1515
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            astore 2 /* ip */
        start local 2 // byte[] ip
        20: .line 1517
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
            aload 2 /* ip */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcludedIP:(Ljava/util/Set;[B)V
        end local 2 // byte[] ip
        21: .line 1519
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.bouncycastle.asn1.x509.GeneralName name
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   22     1  name  Lorg/bouncycastle/asn1/x509/GeneralName;
           20   21     2    ip  [B
    Exceptions:
      throws org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    MethodParameters:
      Name  Flags
      name  

  public void intersectPermittedSubtree(org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // org.bouncycastle.asn1.ASN1Sequence permitted
         0: .line 1530
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* subtreesMap */
        start local 2 // java.util.Map subtreesMap
         1: .line 1533
            aload 1 /* permitted */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         2: goto 8
         3: .line 1535
      StackMap locals: java.util.Map java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.x509.GeneralSubtree.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralSubtree;
            astore 4 /* subtree */
        start local 4 // org.bouncycastle.asn1.x509.GeneralSubtree subtree
         4: .line 1536
            new java.lang.Integer
            dup
            aload 4 /* subtree */
            invokevirtual org.bouncycastle.asn1.x509.GeneralSubtree.getBase:()Lorg/bouncycastle/asn1/x509/GeneralName;
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
            invokespecial java.lang.Integer.<init>:(I)V
            astore 5 /* tagNo */
        start local 5 // java.lang.Integer tagNo
         5: .line 1537
            aload 2 /* subtreesMap */
            aload 5 /* tagNo */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 7
         6: .line 1539
            aload 2 /* subtreesMap */
            aload 5 /* tagNo */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1541
      StackMap locals: org.bouncycastle.asn1.x509.GeneralSubtree java.lang.Integer
      StackMap stack:
            aload 2 /* subtreesMap */
            aload 5 /* tagNo */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 4 /* subtree */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Integer tagNo
        end local 4 // org.bouncycastle.asn1.x509.GeneralSubtree subtree
         8: .line 1533
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        end local 3 // java.util.Enumeration e
         9: .line 1544
            aload 2 /* subtreesMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
        10: goto 32
        11: .line 1546
      StackMap locals: org.bouncycastle.jce.provider.PKIXNameConstraintValidator org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        12: .line 1549
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            tableswitch { // 1 - 7
                    1: 13
                    2: 17
                    3: 32
                    4: 21
                    5: 32
                    6: 25
                    7: 29
              default: 32
          }
        13: .line 1552
      StackMap locals: java.util.Map$Entry
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
        14: .line 1553
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
        15: .line 1552
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectEmail:(Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
        16: .line 1554
            goto 32
        17: .line 1556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
        18: .line 1557
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
        19: .line 1556
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectDNS:(Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
        20: .line 1558
            goto 32
        21: .line 1560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
        22: .line 1561
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
        23: .line 1560
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectDN:(Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
        24: .line 1562
            goto 32
        25: .line 1564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
        26: .line 1565
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
        27: .line 1564
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectURI:(Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
        28: .line 1566
            goto 32
        29: .line 1568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
        30: .line 1569
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
        31: .line 1568
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectIP:(Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
        end local 4 // java.util.Map$Entry entry
        32: .line 1544
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.util.Iterator it
        33: .line 1572
            return
        end local 2 // java.util.Map subtreesMap
        end local 1 // org.bouncycastle.asn1.ASN1Sequence permitted
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   34     1    permitted  Lorg/bouncycastle/asn1/ASN1Sequence;
            1   34     2  subtreesMap  Ljava/util/Map;
            2    9     3            e  Ljava/util/Enumeration;
            4    8     4      subtree  Lorg/bouncycastle/asn1/x509/GeneralSubtree;
            5    8     5        tagNo  Ljava/lang/Integer;
           10   33     3           it  Ljava/util/Iterator;
           12   32     4        entry  Ljava/util/Map$Entry;
    MethodParameters:
           Name  Flags
      permitted  

  private java.lang.String extractNameAsString(org.bouncycastle.asn1.x509.GeneralName);
    descriptor: (Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // org.bouncycastle.asn1.x509.GeneralName name
         0: .line 1576
            aload 1 /* name */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
            invokestatic org.bouncycastle.asn1.DERIA5String.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERIA5String;
            invokevirtual org.bouncycastle.asn1.DERIA5String.getString:()Ljava/lang/String;
            areturn
        end local 1 // org.bouncycastle.asn1.x509.GeneralName name
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0    1     1  name  Lorg/bouncycastle/asn1/x509/GeneralName;
    MethodParameters:
      Name  Flags
      name  

  public void intersectEmptyPermittedSubtree(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // int nameType
         0: .line 1581
            iload 1 /* nameType */
            tableswitch { // 1 - 7
                    1: 1
                    2: 3
                    3: 10
                    4: 5
                    5: 10
                    6: 7
                    7: 9
              default: 10
          }
         1: .line 1584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
         2: .line 1585
            goto 10
         3: .line 1587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
         4: .line 1588
            goto 10
         5: .line 1590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
         6: .line 1591
            goto 10
         7: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
         8: .line 1594
            goto 10
         9: .line 1596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
        10: .line 1598
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int nameType
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   11     1  nameType  I
    MethodParameters:
          Name  Flags
      nameType  

  public void addExcludedSubtree(org.bouncycastle.asn1.x509.GeneralSubtree);
    descriptor: (Lorg/bouncycastle/asn1/x509/GeneralSubtree;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // org.bouncycastle.asn1.x509.GeneralSubtree subtree
         0: .line 1607
            aload 1 /* subtree */
            invokevirtual org.bouncycastle.asn1.x509.GeneralSubtree.getBase:()Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 2 /* base */
        start local 2 // org.bouncycastle.asn1.x509.GeneralName base
         1: .line 1609
            aload 2 /* base */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
            tableswitch { // 1 - 7
                    1: 2
                    2: 6
                    3: 21
                    4: 10
                    5: 21
                    6: 14
                    7: 18
              default: 21
          }
         2: .line 1612
      StackMap locals: org.bouncycastle.asn1.x509.GeneralName
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
         3: .line 1613
            aload 0 /* this */
            aload 2 /* base */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractNameAsString:(Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
         4: .line 1612
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.unionEmail:(Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
         5: .line 1614
            goto 21
         6: .line 1616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
         7: .line 1617
            aload 0 /* this */
            aload 2 /* base */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractNameAsString:(Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
         8: .line 1616
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.unionDNS:(Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
         9: .line 1618
            goto 21
        10: .line 1620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
        11: .line 1621
            aload 2 /* base */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            checkcast org.bouncycastle.asn1.ASN1Sequence
        12: .line 1620
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.unionDN:(Ljava/util/Set;Lorg/bouncycastle/asn1/ASN1Sequence;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
        13: .line 1622
            goto 21
        14: .line 1624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
        15: .line 1625
            aload 0 /* this */
            aload 2 /* base */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.extractNameAsString:(Lorg/bouncycastle/asn1/x509/GeneralName;)Ljava/lang/String;
        16: .line 1624
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.unionURI:(Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
        17: .line 1626
            goto 21
        18: .line 1628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
        19: .line 1629
            aload 2 /* base */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
        20: .line 1628
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.unionIP:(Ljava/util/Set;[B)Ljava/util/Set;
            putfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
        21: .line 1632
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.bouncycastle.asn1.x509.GeneralName base
        end local 1 // org.bouncycastle.asn1.x509.GeneralSubtree subtree
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   22     1  subtree  Lorg/bouncycastle/asn1/x509/GeneralSubtree;
            1   22     2     base  Lorg/bouncycastle/asn1/x509/GeneralName;
    MethodParameters:
         Name  Flags
      subtree  

  private static byte[] max(byte[], byte[]);
    descriptor: ([B[B)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte[] ip1
        start local 1 // byte[] ip2
         0: .line 1643
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 1645
      StackMap locals: int
      StackMap stack:
            aload 0 /* ip1 */
            iload 2 /* i */
            baload
            ldc 65535
            iand
            aload 1 /* ip2 */
            iload 2 /* i */
            baload
            ldc 65535
            iand
            if_icmple 4
         3: .line 1647
            aload 0 /* ip1 */
            areturn
         4: .line 1643
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* ip1 */
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 1650
            aload 1 /* ip2 */
            areturn
        end local 1 // byte[] ip2
        end local 0 // byte[] ip1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   ip1  [B
            0    7     1   ip2  [B
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      ip1   
      ip2   

  private static byte[] min(byte[], byte[]);
    descriptor: ([B[B)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte[] ip1
        start local 1 // byte[] ip2
         0: .line 1662
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 1664
      StackMap locals: int
      StackMap stack:
            aload 0 /* ip1 */
            iload 2 /* i */
            baload
            ldc 65535
            iand
            aload 1 /* ip2 */
            iload 2 /* i */
            baload
            ldc 65535
            iand
            if_icmpge 4
         3: .line 1666
            aload 0 /* ip1 */
            areturn
         4: .line 1662
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* ip1 */
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 1669
            aload 1 /* ip2 */
            areturn
        end local 1 // byte[] ip2
        end local 0 // byte[] ip1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   ip1  [B
            0    7     1   ip2  [B
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      ip1   
      ip2   

  private static int compareTo(byte[], byte[]);
    descriptor: ([B[B)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte[] ip1
        start local 1 // byte[] ip2
         0: .line 1683
            aload 0 /* ip1 */
            aload 1 /* ip2 */
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ifeq 2
         1: .line 1685
            iconst_0
            ireturn
         2: .line 1687
      StackMap locals:
      StackMap stack:
            aload 0 /* ip1 */
            aload 1 /* ip2 */
            invokestatic org.bouncycastle.jce.provider.PKIXNameConstraintValidator.max:([B[B)[B
            aload 0 /* ip1 */
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ifeq 4
         3: .line 1689
            iconst_1
            ireturn
         4: .line 1691
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // byte[] ip2
        end local 0 // byte[] ip1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   ip1  [B
            0    5     1   ip2  [B
    MethodParameters:
      Name  Flags
      ip1   
      ip2   

  private static byte[] or(byte[], byte[]);
    descriptor: ([B[B)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // byte[] ip1
        start local 1 // byte[] ip2
         0: .line 1704
            aload 0 /* ip1 */
            arraylength
            newarray 8
            astore 2 /* temp */
        start local 2 // byte[] temp
         1: .line 1705
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 1707
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* temp */
            iload 3 /* i */
            aload 0 /* ip1 */
            iload 3 /* i */
            baload
            aload 1 /* ip2 */
            iload 3 /* i */
            baload
            ior
            i2b
            bastore
         4: .line 1705
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* ip1 */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 1709
            aload 2 /* temp */
            areturn
        end local 2 // byte[] temp
        end local 1 // byte[] ip2
        end local 0 // byte[] ip1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   ip1  [B
            0    7     1   ip2  [B
            1    7     2  temp  [B
            2    6     3     i  I
    MethodParameters:
      Name  Flags
      ip1   
      ip2   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
         0: .line 1714
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
         1: .line 1715
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
         2: .line 1714
            iadd
         3: .line 1716
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
         4: .line 1714
            iadd
         5: .line 1717
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
         6: .line 1714
            iadd
         7: .line 1718
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
         8: .line 1714
            iadd
         9: .line 1719
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
        10: .line 1714
            iadd
        11: .line 1720
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
        12: .line 1714
            iadd
        13: .line 1721
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
        14: .line 1714
            iadd
        15: .line 1722
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
        16: .line 1714
            iadd
        17: .line 1723
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.hashCollection:(Ljava/util/Collection;)I
        18: .line 1714
            iadd
            ireturn
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;

  private int hashCollection(java.util.Collection);
    descriptor: (Ljava/util/Collection;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Collection coll
         0: .line 1728
            aload 1 /* coll */
            ifnonnull 2
         1: .line 1730
            iconst_0
            ireturn
         2: .line 1732
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* hash */
        start local 2 // int hash
         3: .line 1733
            aload 1 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* it1 */
        start local 3 // java.util.Iterator it1
         4: .line 1734
            goto 10
         5: .line 1736
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 3 /* it1 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
         6: .line 1737
            aload 4 /* o */
            instanceof byte[]
            ifeq 9
         7: .line 1739
            iload 2 /* hash */
            aload 4 /* o */
            checkcast byte[]
            invokestatic org.bouncycastle.util.Arrays.hashCode:([B)I
            iadd
            istore 2 /* hash */
         8: .line 1740
            goto 10
         9: .line 1743
      StackMap locals: java.lang.Object
      StackMap stack:
            iload 2 /* hash */
            aload 4 /* o */
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 2 /* hash */
        end local 4 // java.lang.Object o
        10: .line 1734
      StackMap locals:
      StackMap stack:
            aload 3 /* it1 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 1746
            iload 2 /* hash */
            ireturn
        end local 3 // java.util.Iterator it1
        end local 2 // int hash
        end local 1 // java.util.Collection coll
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   12     1  coll  Ljava/util/Collection;
            3   12     2  hash  I
            4   12     3   it1  Ljava/util/Iterator;
            6   10     4     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      coll  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.Object o
         0: .line 1751
            aload 1 /* o */
            instanceof org.bouncycastle.jce.provider.PKIXNameConstraintValidator
            ifne 2
         1: .line 1753
            iconst_0
            ireturn
         2: .line 1755
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.bouncycastle.jce.provider.PKIXNameConstraintValidator
            astore 2 /* constraintValidator */
        start local 2 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator constraintValidator
         3: .line 1756
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
         4: .line 1757
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
         5: .line 1758
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
         6: .line 1759
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
         7: .line 1760
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
         8: .line 1761
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
         9: .line 1762
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
        10: .line 1763
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
        11: .line 1764
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
        12: .line 1765
            aload 0 /* this */
            aload 2 /* constraintValidator */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.collectionsAreEqual:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 14
        13: .line 1756
            iconst_1
            ireturn
      StackMap locals: org.bouncycastle.jce.provider.PKIXNameConstraintValidator
      StackMap stack:
        14: iconst_0
            ireturn
        end local 2 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator constraintValidator
        end local 1 // java.lang.Object o
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   15     1                    o  Ljava/lang/Object;
            3   15     2  constraintValidator  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
    MethodParameters:
      Name  Flags
      o     

  private boolean collectionsAreEqual(java.util.Collection, java.util.Collection);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Collection coll1
        start local 2 // java.util.Collection coll2
         0: .line 1770
            aload 1 /* coll1 */
            aload 2 /* coll2 */
            if_acmpne 2
         1: .line 1772
            iconst_1
            ireturn
         2: .line 1774
      StackMap locals:
      StackMap stack:
            aload 1 /* coll1 */
            ifnull 3
            aload 2 /* coll2 */
            ifnonnull 4
         3: .line 1776
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 1778
      StackMap locals:
      StackMap stack:
            aload 1 /* coll1 */
            invokeinterface java.util.Collection.size:()I
            aload 2 /* coll2 */
            invokeinterface java.util.Collection.size:()I
            if_icmpeq 6
         5: .line 1780
            iconst_0
            ireturn
         6: .line 1782
      StackMap locals:
      StackMap stack:
            aload 1 /* coll1 */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* it1 */
        start local 3 // java.util.Iterator it1
         7: .line 1784
            goto 19
         8: .line 1786
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it1 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* a */
        start local 4 // java.lang.Object a
         9: .line 1787
            aload 2 /* coll2 */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* it2 */
        start local 5 // java.util.Iterator it2
        10: .line 1788
            iconst_0
            istore 6 /* found */
        start local 6 // boolean found
        11: .line 1789
            goto 16
        12: .line 1791
      StackMap locals: java.lang.Object java.util.Iterator int
      StackMap stack:
            aload 5 /* it2 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 7 /* b */
        start local 7 // java.lang.Object b
        13: .line 1792
            aload 0 /* this */
            aload 4 /* a */
            aload 7 /* b */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 16
        14: .line 1794
            iconst_1
            istore 6 /* found */
        15: .line 1795
            goto 17
        end local 7 // java.lang.Object b
        16: .line 1789
      StackMap locals:
      StackMap stack:
            aload 5 /* it2 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        17: .line 1798
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            ifne 19
        18: .line 1800
            iconst_0
            ireturn
        end local 6 // boolean found
        end local 5 // java.util.Iterator it2
        end local 4 // java.lang.Object a
        19: .line 1784
      StackMap locals:
      StackMap stack:
            aload 3 /* it1 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        20: .line 1803
            iconst_1
            ireturn
        end local 3 // java.util.Iterator it1
        end local 2 // java.util.Collection coll2
        end local 1 // java.util.Collection coll1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   21     1  coll1  Ljava/util/Collection;
            0   21     2  coll2  Ljava/util/Collection;
            7   21     3    it1  Ljava/util/Iterator;
            9   19     4      a  Ljava/lang/Object;
           10   19     5    it2  Ljava/util/Iterator;
           11   19     6  found  Z
           13   16     7      b  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      coll1  
      coll2  

  private boolean equals(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.lang.Object o1
        start local 2 // java.lang.Object o2
         0: .line 1808
            aload 1 /* o1 */
            aload 2 /* o2 */
            if_acmpne 2
         1: .line 1810
            iconst_1
            ireturn
         2: .line 1812
      StackMap locals:
      StackMap stack:
            aload 1 /* o1 */
            ifnull 3
            aload 2 /* o2 */
            ifnonnull 4
         3: .line 1814
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 1816
      StackMap locals:
      StackMap stack:
            aload 1 /* o1 */
            instanceof byte[]
            ifeq 6
            aload 2 /* o2 */
            instanceof byte[]
            ifeq 6
         5: .line 1818
            aload 1 /* o1 */
            checkcast byte[]
            aload 2 /* o2 */
            checkcast byte[]
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ireturn
         6: .line 1822
      StackMap locals:
      StackMap stack:
            aload 1 /* o1 */
            aload 2 /* o2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.Object o2
        end local 1 // java.lang.Object o1
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0    7     1    o1  Ljava/lang/Object;
            0    7     2    o2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o1    
      o2    

  private java.lang.String stringifyIP(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // byte[] ip
         0: .line 1834
            ldc ""
            astore 2 /* temp */
        start local 2 // java.lang.String temp
         1: .line 1835
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 1837
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ip */
            iload 3 /* i */
            baload
            sipush 255
            iand
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* temp */
         4: .line 1835
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 1 /* ip */
            arraylength
            iconst_2
            idiv
            if_icmplt 3
        end local 3 // int i
         6: .line 1839
            aload 2 /* temp */
            iconst_0
            aload 2 /* temp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* temp */
         7: .line 1840
            new java.lang.StringBuilder
            dup
            aload 2 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* temp */
         8: .line 1841
            aload 1 /* ip */
            arraylength
            iconst_2
            idiv
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 1843
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ip */
            iload 3 /* i */
            baload
            sipush 255
            iand
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* temp */
        11: .line 1841
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 1 /* ip */
            arraylength
            if_icmplt 10
        end local 3 // int i
        13: .line 1845
            aload 2 /* temp */
            iconst_0
            aload 2 /* temp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* temp */
        14: .line 1846
            aload 2 /* temp */
            areturn
        end local 2 // java.lang.String temp
        end local 1 // byte[] ip
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   15     1    ip  [B
            1   15     2  temp  Ljava/lang/String;
            2    6     3     i  I
            9   13     3     i  I
    MethodParameters:
      Name  Flags
      ip    

  private java.lang.String stringifyIPCollection(java.util.Set);
    descriptor: (Ljava/util/Set;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
        start local 1 // java.util.Set ips
         0: .line 1851
            ldc ""
            astore 2 /* temp */
        start local 2 // java.lang.String temp
         1: .line 1852
            new java.lang.StringBuilder
            dup
            aload 2 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* temp */
         2: .line 1853
            aload 1 /* ips */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: goto 5
         4: .line 1855
      StackMap locals: java.lang.String java.util.Iterator
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.stringifyIP:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* temp */
         5: .line 1853
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator it
         6: .line 1857
            aload 2 /* temp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 8
         7: .line 1859
            aload 2 /* temp */
            iconst_0
            aload 2 /* temp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* temp */
         8: .line 1861
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* temp */
         9: .line 1862
            aload 2 /* temp */
            areturn
        end local 2 // java.lang.String temp
        end local 1 // java.util.Set ips
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            0   10     1   ips  Ljava/util/Set;
            1   10     2  temp  Ljava/lang/String;
            3    6     3    it  Ljava/util/Iterator;
    MethodParameters:
      Name  Flags
      ips   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
         0: .line 1867
            ldc ""
            astore 1 /* temp */
        start local 1 // java.lang.String temp
         1: .line 1868
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "permitted:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
         2: .line 1869
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
            ifnull 5
         3: .line 1871
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "DN:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
         4: .line 1872
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDN:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
         5: .line 1874
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
            ifnull 8
         6: .line 1876
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "DNS:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
         7: .line 1877
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesDNS:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
         8: .line 1879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
            ifnull 11
         9: .line 1881
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Email:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        10: .line 1882
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesEmail:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        11: .line 1884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
            ifnull 14
        12: .line 1886
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "URI:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        13: .line 1887
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesURI:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        14: .line 1889
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
            ifnull 17
        15: .line 1891
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "IP:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        16: .line 1892
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.permittedSubtreesIP:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.stringifyIPCollection:(Ljava/util/Set;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        17: .line 1894
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "excluded:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        18: .line 1895
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 21
        19: .line 1897
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "DN:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        20: .line 1898
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDN:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        21: .line 1900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 24
        22: .line 1902
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "DNS:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        23: .line 1903
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesDNS:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        24: .line 1905
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 27
        25: .line 1907
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Email:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        26: .line 1908
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesEmail:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        27: .line 1910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 30
        28: .line 1912
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "URI:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        29: .line 1913
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesURI:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        30: .line 1915
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 33
        31: .line 1917
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "IP:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        32: .line 1918
            new java.lang.StringBuilder
            dup
            aload 1 /* temp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.PKIXNameConstraintValidator.excludedSubtreesIP:Ljava/util/Set;
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.stringifyIPCollection:(Ljava/util/Set;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* temp */
        33: .line 1920
      StackMap locals:
      StackMap stack:
            aload 1 /* temp */
            areturn
        end local 1 // java.lang.String temp
        end local 0 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   34     0  this  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            1   34     1  temp  Ljava/lang/String;
}
SourceFile: "PKIXNameConstraintValidator.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map