package com.l7tech.xml.saml;

import com.l7tech.security.cert.KeyUsageActivity;
import com.l7tech.security.cert.KeyUsageChecker;
import com.l7tech.security.cert.KeyUsageException;
import com.l7tech.security.token.EncryptedKey;
import com.l7tech.security.token.SamlSecurityToken;
import com.l7tech.security.token.SecurityTokenType;
import com.l7tech.security.xml.DsigUtil;
import com.l7tech.security.xml.DsigValidity;
import com.l7tech.security.xml.SecurityTokenResolver;
import com.l7tech.security.xml.SignatureValidityContext;
import com.l7tech.security.xml.UnexpectedKeyInfoException;
import com.l7tech.security.xml.processor.EncryptedKeyImpl;
import com.l7tech.util.Charsets;
import com.l7tech.util.DomUtils;
import com.l7tech.util.HexUtils;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.util.SoapConstants;
import com.l7tech.util.TooManyChildElementsException;
import java.math.BigInteger;
import java.security.GeneralSecurityException;
import java.security.PublicKey;
import java.security.SignatureException;
import java.security.cert.CertificateParsingException;
import java.security.cert.X509Certificate;
import java.util.Calendar;
import java.util.logging.Logger;
import javax.xml.crypto.dsig.Reference;
import org.apache.xmlbeans.XmlObject;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
import x0Assertion.oasisNamesTcSAML1.AssertionType;
import x0Assertion.oasisNamesTcSAML1.SubjectType;

public class SamlAssertionV1 extends SamlAssertion {
   private static final Logger c;
   private final AssertionType d;
   private Element e;
   private Element f;
   private SamlSecurityToken.ConfirmationMethod g;
   private X509Certificate h;
   private X509Certificate i;
   private X509Certificate j;
   private String k;
   private String l;
   private String m;
   private Calendar n;
   private Calendar o;
   private Calendar p;
   private String q;
   private String r;
   private String s;
   private String t;
   private EncryptedKey u;
   private static final String[] y;

   public SamlAssertionV1(Element param1, SecurityTokenResolver param2) throws SAXException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 0
      // 001: aload 1
      // 002: invokespecial com/l7tech/xml/saml/SamlAssertion.<init> (Lorg/w3c/dom/Element;)V
      // 005: aload 0
      // 006: aconst_null
      // 007: putfield com/l7tech/xml/saml/SamlAssertionV1.e Lorg/w3c/dom/Element;
      // 00a: aload 0
      // 00b: aconst_null
      // 00c: putfield com/l7tech/xml/saml/SamlAssertionV1.f Lorg/w3c/dom/Element;
      // 00f: aload 0
      // 010: aconst_null
      // 011: putfield com/l7tech/xml/saml/SamlAssertionV1.g Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 014: aload 0
      // 015: aconst_null
      // 016: putfield com/l7tech/xml/saml/SamlAssertionV1.h Ljava/security/cert/X509Certificate;
      // 019: aload 0
      // 01a: aconst_null
      // 01b: putfield com/l7tech/xml/saml/SamlAssertionV1.i Ljava/security/cert/X509Certificate;
      // 01e: aload 0
      // 01f: aconst_null
      // 020: putfield com/l7tech/xml/saml/SamlAssertionV1.j Ljava/security/cert/X509Certificate;
      // 023: aload 0
      // 024: aconst_null
      // 025: putfield com/l7tech/xml/saml/SamlAssertionV1.k Ljava/lang/String;
      // 028: aload 0
      // 029: aconst_null
      // 02a: putfield com/l7tech/xml/saml/SamlAssertionV1.l Ljava/lang/String;
      // 02d: aload 0
      // 02e: aconst_null
      // 02f: putfield com/l7tech/xml/saml/SamlAssertionV1.m Ljava/lang/String;
      // 032: aload 0
      // 033: aconst_null
      // 034: putfield com/l7tech/xml/saml/SamlAssertionV1.n Ljava/util/Calendar;
      // 037: aload 0
      // 038: aconst_null
      // 039: putfield com/l7tech/xml/saml/SamlAssertionV1.o Ljava/util/Calendar;
      // 03c: aload 0
      // 03d: aconst_null
      // 03e: putfield com/l7tech/xml/saml/SamlAssertionV1.p Ljava/util/Calendar;
      // 041: aload 0
      // 042: aconst_null
      // 043: putfield com/l7tech/xml/saml/SamlAssertionV1.u Lcom/l7tech/security/token/EncryptedKey;
      // 046: aload 0
      // 047: aload 1
      // 048: putfield com/l7tech/xml/saml/SamlAssertionV1.e Lorg/w3c/dom/Element;
      // 04b: aload 0
      // 04c: aload 0
      // 04d: getfield com/l7tech/xml/saml/SamlAssertionV1.e Lorg/w3c/dom/Element;
      // 050: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 053: astore 15
      // 055: aload 15
      // 057: bipush 7
      // 059: aaload
      // 05a: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 05f: putfield com/l7tech/xml/saml/SamlAssertionV1.k Ljava/lang/String;
      // 062: aload 0
      // 063: getfield com/l7tech/xml/saml/SamlAssertionV1.k Ljava/lang/String;
      // 066: ifnull 074
      // 069: aload 0
      // 06a: getfield com/l7tech/xml/saml/SamlAssertionV1.k Ljava/lang/String;
      // 06d: invokevirtual java/lang/String.length ()I
      // 070: bipush 1
      // 071: if_icmpge 086
      // 074: new org/xml/sax/SAXException
      // 077: dup
      // 078: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 07b: bipush 31
      // 07d: aaload
      // 07e: invokespecial org/xml/sax/SAXException.<init> (Ljava/lang/String;)V
      // 081: athrow
      // 082: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 085: athrow
      // 086: aload 0
      // 087: aload 1
      // 088: invokestatic x0Assertion/oasisNamesTcSAML1/AssertionDocument$Factory.parse (Lorg/w3c/dom/Node;)Lx0Assertion/oasisNamesTcSAML1/AssertionDocument;
      // 08b: invokeinterface x0Assertion/oasisNamesTcSAML1/AssertionDocument.getAssertion ()Lx0Assertion/oasisNamesTcSAML1/AssertionType; 1
      // 090: putfield com/l7tech/xml/saml/SamlAssertionV1.d Lx0Assertion/oasisNamesTcSAML1/AssertionType;
      // 093: new java/util/ArrayList
      // 096: dup
      // 097: invokespecial java/util/ArrayList.<init> ()V
      // 09a: astore 3
      // 09b: aload 3
      // 09c: aload 0
      // 09d: getfield com/l7tech/xml/saml/SamlAssertionV1.d Lx0Assertion/oasisNamesTcSAML1/AssertionType;
      // 0a0: invokeinterface x0Assertion/oasisNamesTcSAML1/AssertionType.getAuthenticationStatementArray ()[Lx0Assertion/oasisNamesTcSAML1/AuthenticationStatementType; 1
      // 0a5: invokestatic java/util/Arrays.asList ([Ljava/lang/Object;)Ljava/util/List;
      // 0a8: invokeinterface java/util/Collection.addAll (Ljava/util/Collection;)Z 2
      // 0ad: pop
      // 0ae: aload 3
      // 0af: aload 0
      // 0b0: getfield com/l7tech/xml/saml/SamlAssertionV1.d Lx0Assertion/oasisNamesTcSAML1/AssertionType;
      // 0b3: invokeinterface x0Assertion/oasisNamesTcSAML1/AssertionType.getAuthorizationDecisionStatementArray ()[Lx0Assertion/oasisNamesTcSAML1/AuthorizationDecisionStatementType; 1
      // 0b8: invokestatic java/util/Arrays.asList ([Ljava/lang/Object;)Ljava/util/List;
      // 0bb: invokeinterface java/util/Collection.addAll (Ljava/util/Collection;)Z 2
      // 0c0: pop
      // 0c1: aload 3
      // 0c2: aload 0
      // 0c3: getfield com/l7tech/xml/saml/SamlAssertionV1.d Lx0Assertion/oasisNamesTcSAML1/AssertionType;
      // 0c6: invokeinterface x0Assertion/oasisNamesTcSAML1/AssertionType.getAttributeStatementArray ()[Lx0Assertion/oasisNamesTcSAML1/AttributeStatementType; 1
      // 0cb: invokestatic java/util/Arrays.asList ([Ljava/lang/Object;)Ljava/util/List;
      // 0ce: invokeinterface java/util/Collection.addAll (Ljava/util/Collection;)Z 2
      // 0d3: pop
      // 0d4: aload 3
      // 0d5: bipush 0
      // 0d6: anewarray 624
      // 0d9: invokeinterface java/util/Collection.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // 0de: checkcast [Lx0Assertion/oasisNamesTcSAML1/SubjectStatementAbstractType;
      // 0e1: astore 4
      // 0e3: aconst_null
      // 0e4: astore 5
      // 0e6: aload 4
      // 0e8: astore 6
      // 0ea: aload 6
      // 0ec: arraylength
      // 0ed: istore 7
      // 0ef: bipush 0
      // 0f0: istore 8
      // 0f2: iload 8
      // 0f4: iload 7
      // 0f6: if_icmpge 164
      // 0f9: aload 6
      // 0fb: iload 8
      // 0fd: aaload
      // 0fe: astore 9
      // 100: aload 9
      // 102: invokeinterface x0Assertion/oasisNamesTcSAML1/SubjectStatementAbstractType.getSubject ()Lx0Assertion/oasisNamesTcSAML1/SubjectType; 1
      // 107: astore 5
      // 109: aload 5
      // 10b: ifnull 144
      // 10e: aload 5
      // 110: invokeinterface x0Assertion/oasisNamesTcSAML1/SubjectType.getNameIdentifier ()Lx0Assertion/oasisNamesTcSAML1/NameIdentifierType; 1
      // 115: astore 10
      // 117: aload 10
      // 119: ifnull 144
      // 11c: aload 0
      // 11d: aload 10
      // 11f: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getFormat ()Ljava/lang/String; 1
      // 124: putfield com/l7tech/xml/saml/SamlAssertionV1.q Ljava/lang/String;
      // 127: aload 0
      // 128: aload 10
      // 12a: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getNameQualifier ()Ljava/lang/String; 1
      // 12f: putfield com/l7tech/xml/saml/SamlAssertionV1.r Ljava/lang/String;
      // 132: aload 0
      // 133: aload 10
      // 135: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getStringValue ()Ljava/lang/String; 1
      // 13a: putfield com/l7tech/xml/saml/SamlAssertionV1.s Ljava/lang/String;
      // 13d: goto 144
      // 140: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 143: athrow
      // 144: aload 9
      // 146: instanceof x0Assertion/oasisNamesTcSAML1/AuthenticationStatementType
      // 149: ifeq 15e
      // 14c: aload 9
      // 14e: checkcast x0Assertion/oasisNamesTcSAML1/AuthenticationStatementType
      // 151: astore 10
      // 153: aload 0
      // 154: aload 10
      // 156: invokeinterface x0Assertion/oasisNamesTcSAML1/AuthenticationStatementType.getAuthenticationMethod ()Ljava/lang/String; 1
      // 15b: putfield com/l7tech/xml/saml/SamlAssertionV1.t Ljava/lang/String;
      // 15e: iinc 8 1
      // 161: goto 0f2
      // 164: aload 5
      // 166: ifnonnull 191
      // 169: aload 1
      // 16a: invokestatic com/l7tech/common/io/XmlUtil.nodeToFormattedString (Lorg/w3c/dom/Node;)Ljava/lang/String;
      // 16d: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 170: astore 15
      // 172: aload 15
      // 174: bipush 37
      // 176: aaload
      // 177: swap
      // 178: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 17d: astore 6
      // 17f: getstatic com/l7tech/xml/saml/SamlAssertionV1.c Ljava/util/logging/Logger;
      // 182: aload 6
      // 184: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 187: new org/xml/sax/SAXException
      // 18a: dup
      // 18b: aload 6
      // 18d: invokespecial org/xml/sax/SAXException.<init> (Ljava/lang/String;)V
      // 190: athrow
      // 191: aload 0
      // 192: aload 0
      // 193: aload 5
      // 195: invokevirtual com/l7tech/xml/saml/SamlAssertionV1.a (Lx0Assertion/oasisNamesTcSAML1/SubjectType;)Ljava/lang/String;
      // 198: putfield com/l7tech/xml/saml/SamlAssertionV1.m Ljava/lang/String;
      // 19b: aload 0
      // 19c: aload 0
      // 19d: getfield com/l7tech/xml/saml/SamlAssertionV1.d Lx0Assertion/oasisNamesTcSAML1/AssertionType;
      // 1a0: invokeinterface x0Assertion/oasisNamesTcSAML1/AssertionType.getIssueInstant ()Ljava/util/Calendar; 1
      // 1a5: putfield com/l7tech/xml/saml/SamlAssertionV1.n Ljava/util/Calendar;
      // 1a8: aload 0
      // 1a9: getfield com/l7tech/xml/saml/SamlAssertionV1.d Lx0Assertion/oasisNamesTcSAML1/AssertionType;
      // 1ac: invokeinterface x0Assertion/oasisNamesTcSAML1/AssertionType.getConditions ()Lx0Assertion/oasisNamesTcSAML1/ConditionsType; 1
      // 1b1: astore 6
      // 1b3: aload 6
      // 1b5: ifnull 1d5
      // 1b8: aload 0
      // 1b9: aload 6
      // 1bb: invokeinterface x0Assertion/oasisNamesTcSAML1/ConditionsType.getNotBefore ()Ljava/util/Calendar; 1
      // 1c0: putfield com/l7tech/xml/saml/SamlAssertionV1.o Ljava/util/Calendar;
      // 1c3: aload 0
      // 1c4: aload 6
      // 1c6: invokeinterface x0Assertion/oasisNamesTcSAML1/ConditionsType.getNotOnOrAfter ()Ljava/util/Calendar; 1
      // 1cb: putfield com/l7tech/xml/saml/SamlAssertionV1.p Ljava/util/Calendar;
      // 1ce: goto 1d5
      // 1d1: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d4: athrow
      // 1d5: aload 5
      // 1d7: invokeinterface x0Assertion/oasisNamesTcSAML1/SubjectType.getSubjectConfirmation ()Lx0Assertion/oasisNamesTcSAML1/SubjectConfirmationType; 1
      // 1dc: astore 7
      // 1de: aload 7
      // 1e0: ifnull 328
      // 1e3: aload 7
      // 1e5: invokeinterface x0Assertion/oasisNamesTcSAML1/SubjectConfirmationType.getConfirmationMethodArray ()[Ljava/lang/String; 1
      // 1ea: astore 8
      // 1ec: aload 8
      // 1ee: ifnull 1ff
      // 1f1: aload 8
      // 1f3: arraylength
      // 1f4: bipush 1
      // 1f5: if_icmpeq 211
      // 1f8: goto 1ff
      // 1fb: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1fe: athrow
      // 1ff: new java/lang/IllegalArgumentException
      // 202: dup
      // 203: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 206: bipush 29
      // 208: aaload
      // 209: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 20c: athrow
      // 20d: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 210: athrow
      // 211: aload 8
      // 213: bipush 0
      // 214: aaload
      // 215: astore 9
      // 217: aload 9
      // 219: ifnull 274
      // 21c: aload 9
      // 21e: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 221: bipush 28
      // 223: aaload
      // 224: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 227: iflt 23f
      // 22a: goto 231
      // 22d: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 230: athrow
      // 231: aload 0
      // 232: getstatic com/l7tech/xml/saml/SamlAssertionV1.HOLDER_OF_KEY Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 235: putfield com/l7tech/xml/saml/SamlAssertionV1.g Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 238: goto 274
      // 23b: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 23e: athrow
      // 23f: aload 9
      // 241: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 244: bipush 10
      // 246: aaload
      // 247: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 24a: iflt 25b
      // 24d: aload 0
      // 24e: getstatic com/l7tech/xml/saml/SamlAssertionV1.SENDER_VOUCHES Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 251: putfield com/l7tech/xml/saml/SamlAssertionV1.g Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 254: goto 274
      // 257: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25a: athrow
      // 25b: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 25e: astore 15
      // 260: aload 15
      // 262: bipush 14
      // 264: aaload
      // 265: astore 10
      // 267: getstatic com/l7tech/xml/saml/SamlAssertionV1.c Ljava/util/logging/Logger;
      // 26a: aload 10
      // 26c: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 26f: aload 0
      // 270: aconst_null
      // 271: putfield com/l7tech/xml/saml/SamlAssertionV1.g Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 274: aload 0
      // 275: getfield com/l7tech/xml/saml/SamlAssertionV1.g Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 278: getstatic com/l7tech/xml/saml/SamlAssertionV1.HOLDER_OF_KEY Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 27b: if_acmpne 328
      // 27e: aload 7
      // 280: invokeinterface x0Assertion/oasisNamesTcSAML1/SubjectConfirmationType.getKeyInfo ()Lorg/w3/x2000/x09/xmldsig/KeyInfoType; 1
      // 285: astore 10
      // 287: aload 10
      // 289: ifnull 328
      // 28c: aload 10
      // 28e: invokeinterface org/w3/x2000/x09/xmldsig/KeyInfoType.getX509DataArray ()[Lorg/w3/x2000/x09/xmldsig/X509DataType; 1
      // 293: astore 11
      // 295: aload 11
      // 297: ifnull 2bf
      // 29a: aload 11
      // 29c: arraylength
      // 29d: ifle 2bf
      // 2a0: goto 2a7
      // 2a3: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a6: athrow
      // 2a7: aload 11
      // 2a9: bipush 0
      // 2aa: aaload
      // 2ab: astore 12
      // 2ad: aload 0
      // 2ae: aload 12
      // 2b0: bipush 0
      // 2b1: invokeinterface org/w3/x2000/x09/xmldsig/X509DataType.getX509CertificateArray (I)[B 2
      // 2b6: invokestatic com/l7tech/common/io/CertUtils.decodeCert ([B)Ljava/security/cert/X509Certificate;
      // 2b9: putfield com/l7tech/xml/saml/SamlAssertionV1.h Ljava/security/cert/X509Certificate;
      // 2bc: goto 328
      // 2bf: aload 10
      // 2c1: invokeinterface org/w3/x2000/x09/xmldsig/KeyInfoType.getDomNode ()Lorg/w3c/dom/Node; 1
      // 2c6: checkcast org/w3c/dom/Element
      // 2c9: astore 12
      // 2cb: aload 12
      // 2cd: getstatic com/l7tech/util/SoapConstants.SECURITY_URIS_ARRAY [Ljava/lang/String;
      // 2d0: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 2d3: astore 15
      // 2d5: aload 15
      // 2d7: bipush 38
      // 2d9: aaload
      // 2da: invokestatic com/l7tech/util/DomUtils.findChildElementsByName (Lorg/w3c/dom/Element;[Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
      // 2dd: astore 13
      // 2df: aload 12
      // 2e1: ifnull 328
      // 2e4: aload 13
      // 2e6: invokeinterface java/util/List.isEmpty ()Z 1
      // 2eb: ifne 328
      // 2ee: goto 2f5
      // 2f1: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2f4: athrow
      // 2f5: aload 10
      // 2f7: invokeinterface org/w3/x2000/x09/xmldsig/KeyInfoType.getDomNode ()Lorg/w3c/dom/Node; 1
      // 2fc: checkcast org/w3c/dom/Element
      // 2ff: aload 2
      // 300: getstatic com/l7tech/security/xml/KeyInfoInclusionType.ANY Ljava/util/EnumSet;
      // 303: invokestatic com/l7tech/security/xml/KeyInfoElement.parse (Lorg/w3c/dom/Element;Lcom/l7tech/security/xml/SecurityTokenResolver;Ljava/util/EnumSet;)Lcom/l7tech/security/xml/KeyInfoElement;
      // 306: astore 14
      // 308: aload 0
      // 309: aload 14
      // 30b: invokevirtual com/l7tech/security/xml/KeyInfoElement.getCertificate ()Ljava/security/cert/X509Certificate;
      // 30e: putfield com/l7tech/xml/saml/SamlAssertionV1.h Ljava/security/cert/X509Certificate;
      // 311: goto 328
      // 314: astore 14
      // 316: getstatic com/l7tech/xml/saml/SamlAssertionV1.c Ljava/util/logging/Logger;
      // 319: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 31c: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 31f: astore 15
      // 321: aload 15
      // 323: bipush 2
      // 324: aaload
      // 325: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 328: aload 0
      // 329: getfield com/l7tech/xml/saml/SamlAssertionV1.e Lorg/w3c/dom/Element;
      // 32c: getstatic com/l7tech/util/SoapConstants.DIGSIG_URI Ljava/lang/String;
      // 32f: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 332: astore 15
      // 334: aload 15
      // 336: bipush 21
      // 338: aaload
      // 339: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 33c: astore 8
      // 33e: aload 8
      // 340: ifnull 382
      // 343: aload 0
      // 344: aload 8
      // 346: putfield com/l7tech/xml/saml/SamlAssertionV1.f Lorg/w3c/dom/Element;
      // 349: aload 8
      // 34b: getstatic com/l7tech/util/SoapConstants.DIGSIG_URI Ljava/lang/String;
      // 34e: aload 15
      // 350: bipush 11
      // 352: aaload
      // 353: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 356: astore 9
      // 358: aload 9
      // 35a: ifnonnull 36e
      // 35d: new org/xml/sax/SAXException
      // 360: dup
      // 361: aload 15
      // 363: bipush 30
      // 365: aaload
      // 366: invokespecial org/xml/sax/SAXException.<init> (Ljava/lang/String;)V
      // 369: athrow
      // 36a: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 36d: athrow
      // 36e: aload 9
      // 370: aload 2
      // 371: getstatic com/l7tech/security/xml/KeyInfoInclusionType.ANY Ljava/util/EnumSet;
      // 374: invokestatic com/l7tech/security/xml/KeyInfoElement.parse (Lorg/w3c/dom/Element;Lcom/l7tech/security/xml/SecurityTokenResolver;Ljava/util/EnumSet;)Lcom/l7tech/security/xml/KeyInfoElement;
      // 377: astore 10
      // 379: aload 0
      // 37a: aload 10
      // 37c: invokevirtual com/l7tech/security/xml/KeyInfoElement.getCertificate ()Ljava/security/cert/X509Certificate;
      // 37f: putfield com/l7tech/xml/saml/SamlAssertionV1.i Ljava/security/cert/X509Certificate;
      // 382: goto 3d7
      // 385: astore 3
      // 386: new org/xml/sax/SAXException
      // 389: dup
      // 38a: aload 3
      // 38b: invokespecial org/xml/sax/SAXException.<init> (Ljava/lang/Exception;)V
      // 38e: athrow
      // 38f: astore 3
      // 390: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 393: astore 15
      // 395: aload 15
      // 397: bipush 0
      // 398: aaload
      // 399: astore 4
      // 39b: getstatic com/l7tech/xml/saml/SamlAssertionV1.c Ljava/util/logging/Logger;
      // 39e: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 3a1: aload 15
      // 3a3: bipush 39
      // 3a5: aaload
      // 3a6: aload 3
      // 3a7: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 3aa: new org/xml/sax/SAXException
      // 3ad: dup
      // 3ae: aload 3
      // 3af: invokespecial org/xml/sax/SAXException.<init> (Ljava/lang/Exception;)V
      // 3b2: athrow
      // 3b3: astore 3
      // 3b4: new org/xml/sax/SAXException
      // 3b7: dup
      // 3b8: aload 3
      // 3b9: invokespecial org/xml/sax/SAXException.<init> (Ljava/lang/Exception;)V
      // 3bc: athrow
      // 3bd: astore 3
      // 3be: new org/xml/sax/SAXException
      // 3c1: dup
      // 3c2: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 3c5: bipush 23
      // 3c7: aaload
      // 3c8: aload 3
      // 3c9: invokespecial org/xml/sax/SAXException.<init> (Ljava/lang/String;Ljava/lang/Exception;)V
      // 3cc: athrow
      // 3cd: astore 3
      // 3ce: new org/xml/sax/SAXException
      // 3d1: dup
      // 3d2: aload 3
      // 3d3: invokespecial org/xml/sax/SAXException.<init> (Ljava/lang/Exception;)V
      // 3d6: athrow
      // 3d7: return
      // try (323 -> 328): 329 java/lang/Exception
      // try (291 -> 296): 297 java/lang/Exception
      // try (255 -> 265): 265 java/lang/Exception
      // try (240 -> 253): 253 java/lang/Exception
      // try (238 -> 246): 247 java/lang/Exception
      // try (218 -> 232): 232 java/lang/Exception
      // try (216 -> 222): 223 java/lang/Exception
      // try (195 -> 205): 206 java/lang/Exception
      // try (132 -> 146): 147 java/lang/Exception
      // try (58 -> 70): 70 java/lang/Exception
      // try (331 -> 342): 343 java/lang/Exception
      // try (374 -> 383): 383 java/lang/Exception
      // try (72 -> 394): 395 org/apache/xmlbeans/XmlException
      // try (72 -> 394): 401 java/security/cert/CertificateException
      // try (72 -> 394): 420 com/l7tech/util/TooManyChildElementsException
      // try (72 -> 394): 426 java/io/IOException
      // try (72 -> 394): 435 com/l7tech/security/xml/KeyInfoElement$MissingResolverException
   }

   @Override
   public SecurityTokenType getType() {
      return SecurityTokenType.SAML_ASSERTION;
   }

   @Override
   public int getVersionId() {
      return 1;
   }

   @Override
   public boolean isHolderOfKey() {
      return HOLDER_OF_KEY.equals(this.g);
   }

   @Override
   public boolean isSenderVouches() {
      return SENDER_VOUCHES.equals(this.g);
   }

   @Override
   public boolean isBearerToken() {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/xml/saml/SamlAssertionV1.g Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 04: ifnull 1b
      // 07: getstatic com/l7tech/xml/saml/SamlAssertionV1.BEARER_TOKEN Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 0a: aload 0
      // 0b: getfield com/l7tech/xml/saml/SamlAssertionV1.g Lcom/l7tech/security/token/SamlSecurityToken$ConfirmationMethod;
      // 0e: invokevirtual java/lang/Object.equals (Ljava/lang/Object;)Z
      // 11: ifeq 23
      // 14: goto 1b
      // 17: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a: athrow
      // 1b: bipush 1
      // 1c: goto 24
      // 1f: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22: athrow
      // 23: bipush 0
      // 24: ireturn
      // try (0 -> 8): 9 java/lang/IllegalArgumentException
      // try (3 -> 13): 13 java/lang/IllegalArgumentException
   }

   @Override
   public SamlSecurityToken.ConfirmationMethod getConfirmationMethod() {
      return this.g;
   }

   @Override
   public String getAssertionId() {
      return this.k;
   }

   @Override
   public String getUniqueId() {
      try {
         if (this.l == null) {
            this.l = this.a();
         }
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }

      return this.l;
   }

   @Override
   public boolean hasEmbeddedIssuerSignature() {
      try {
         if (this.f != null) {
            return true;
         }
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }

      return false;
   }

   @Override
   public boolean hasSubjectConfirmationEncryptedKey() {
      try {
         try {
            if (this.a(false) != null) {
               return true;
            }
         } catch (InvalidDocumentFormatException var2) {
            throw a(var2);
         }

         return false;
      } catch (InvalidDocumentFormatException var3) {
         return false;
      }
   }

   @Override
   public Element getEmbeddedIssuerSignature() {
      return this.f;
   }

   @Override
   public EncryptedKey getSubjectConfirmationEncryptedKey(SecurityTokenResolver var1) throws InvalidDocumentFormatException, UnexpectedKeyInfoException, GeneralSecurityException {
      try {
         if (this.u != null) {
            return this.u;
         }
      } catch (InvalidDocumentFormatException var3) {
         throw a(var3);
      }

      Element var2 = this.a(true);
      return this.u = new EncryptedKeyImpl(var2, var1, SoapConstants.VALUETYPE_SAML_ASSERTIONID_SAML11, this.k);
   }

   private Element a(boolean param1) throws InvalidDocumentFormatException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 0
      // 001: invokevirtual com/l7tech/xml/saml/SamlAssertionV1.asElement ()Lorg/w3c/dom/Element;
      // 004: astore 2
      // 005: aload 2
      // 006: invokeinterface org/w3c/dom/Element.getNamespaceURI ()Ljava/lang/String; 1
      // 00b: astore 3
      // 00c: aload 2
      // 00d: aload 3
      // 00e: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 011: astore 13
      // 013: aload 13
      // 015: bipush 5
      // 016: aaload
      // 017: invokestatic com/l7tech/common/io/XmlUtil.findFirstChildElementByName (Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 01a: astore 4
      // 01c: aload 2
      // 01d: aload 3
      // 01e: aload 13
      // 020: bipush 13
      // 022: aaload
      // 023: invokestatic com/l7tech/common/io/XmlUtil.findFirstChildElementByName (Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 026: astore 5
      // 028: aload 2
      // 029: aload 3
      // 02a: aload 13
      // 02c: bipush 8
      // 02e: aaload
      // 02f: invokestatic com/l7tech/common/io/XmlUtil.findFirstChildElementByName (Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 032: astore 6
      // 034: aload 4
      // 036: ifnonnull 070
      // 039: aload 5
      // 03b: ifnonnull 070
      // 03e: goto 045
      // 041: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 044: athrow
      // 045: aload 6
      // 047: ifnonnull 070
      // 04a: goto 051
      // 04d: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 050: athrow
      // 051: iload 1
      // 052: ifeq 06e
      // 055: goto 05c
      // 058: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 05b: athrow
      // 05c: new com/l7tech/util/InvalidDocumentFormatException
      // 05f: dup
      // 060: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 063: bipush 15
      // 065: aaload
      // 066: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 069: athrow
      // 06a: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06d: athrow
      // 06e: aconst_null
      // 06f: areturn
      // 070: bipush 0
      // 071: istore 7
      // 073: aconst_null
      // 074: astore 8
      // 076: aload 4
      // 078: ifnull 082
      // 07b: aload 4
      // 07d: astore 8
      // 07f: iinc 7 1
      // 082: aload 5
      // 084: ifnull 08e
      // 087: aload 5
      // 089: astore 8
      // 08b: iinc 7 1
      // 08e: aload 6
      // 090: ifnull 09a
      // 093: aload 6
      // 095: astore 8
      // 097: iinc 7 1
      // 09a: getstatic com/l7tech/xml/saml/SamlAssertionV1.v Z
      // 09d: ifne 0b8
      // 0a0: iload 7
      // 0a2: ifgt 0b8
      // 0a5: goto 0ac
      // 0a8: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ab: athrow
      // 0ac: new java/lang/AssertionError
      // 0af: dup
      // 0b0: invokespecial java/lang/AssertionError.<init> ()V
      // 0b3: athrow
      // 0b4: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b7: athrow
      // 0b8: getstatic com/l7tech/xml/saml/SamlAssertionV1.v Z
      // 0bb: ifne 0d6
      // 0be: aload 8
      // 0c0: ifnonnull 0d6
      // 0c3: goto 0ca
      // 0c6: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c9: athrow
      // 0ca: new java/lang/AssertionError
      // 0cd: dup
      // 0ce: invokespecial java/lang/AssertionError.<init> ()V
      // 0d1: athrow
      // 0d2: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d5: athrow
      // 0d6: iload 7
      // 0d8: bipush 1
      // 0d9: if_icmple 0fb
      // 0dc: iload 1
      // 0dd: ifeq 0f9
      // 0e0: goto 0e7
      // 0e3: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e6: athrow
      // 0e7: new com/l7tech/util/InvalidDocumentFormatException
      // 0ea: dup
      // 0eb: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 0ee: bipush 36
      // 0f0: aaload
      // 0f1: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 0f4: athrow
      // 0f5: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f8: athrow
      // 0f9: aconst_null
      // 0fa: areturn
      // 0fb: aload 8
      // 0fd: aload 3
      // 0fe: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 101: astore 13
      // 103: aload 13
      // 105: bipush 24
      // 107: aaload
      // 108: invokestatic com/l7tech/common/io/XmlUtil.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 10b: astore 9
      // 10d: aload 9
      // 10f: ifnonnull 131
      // 112: iload 1
      // 113: ifeq 12f
      // 116: goto 11d
      // 119: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11c: athrow
      // 11d: new com/l7tech/util/InvalidDocumentFormatException
      // 120: dup
      // 121: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 124: bipush 33
      // 126: aaload
      // 127: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 12a: athrow
      // 12b: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 12e: athrow
      // 12f: aconst_null
      // 130: areturn
      // 131: aload 9
      // 133: aload 3
      // 134: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 137: astore 13
      // 139: aload 13
      // 13b: bipush 22
      // 13d: aaload
      // 13e: invokestatic com/l7tech/common/io/XmlUtil.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 141: astore 10
      // 143: aload 10
      // 145: ifnonnull 167
      // 148: iload 1
      // 149: ifeq 165
      // 14c: goto 153
      // 14f: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 152: athrow
      // 153: new com/l7tech/util/InvalidDocumentFormatException
      // 156: dup
      // 157: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 15a: bipush 16
      // 15c: aaload
      // 15d: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 160: athrow
      // 161: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 164: athrow
      // 165: aconst_null
      // 166: areturn
      // 167: aload 10
      // 169: getstatic com/l7tech/util/SoapConstants.DIGSIG_URI Ljava/lang/String;
      // 16c: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 16f: astore 13
      // 171: aload 13
      // 173: bipush 17
      // 175: aaload
      // 176: invokestatic com/l7tech/common/io/XmlUtil.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 179: astore 11
      // 17b: aload 11
      // 17d: ifnonnull 19f
      // 180: iload 1
      // 181: ifeq 19d
      // 184: goto 18b
      // 187: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 18a: athrow
      // 18b: new com/l7tech/util/InvalidDocumentFormatException
      // 18e: dup
      // 18f: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 192: bipush 9
      // 194: aaload
      // 195: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 198: athrow
      // 199: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 19c: athrow
      // 19d: aconst_null
      // 19e: areturn
      // 19f: aload 11
      // 1a1: getstatic com/l7tech/util/SoapConstants.XMLENC_NS Ljava/lang/String;
      // 1a4: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 1a7: astore 13
      // 1a9: aload 13
      // 1ab: bipush 4
      // 1ac: aaload
      // 1ad: invokestatic com/l7tech/common/io/XmlUtil.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 1b0: astore 12
      // 1b2: aload 12
      // 1b4: ifnonnull 1d6
      // 1b7: iload 1
      // 1b8: ifeq 1d4
      // 1bb: goto 1c2
      // 1be: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c1: athrow
      // 1c2: new com/l7tech/util/InvalidDocumentFormatException
      // 1c5: dup
      // 1c6: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 1c9: bipush 19
      // 1cb: aaload
      // 1cc: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 1cf: athrow
      // 1d0: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d3: athrow
      // 1d4: aconst_null
      // 1d5: areturn
      // 1d6: aload 12
      // 1d8: areturn
      // try (29 -> 33): 34 com/l7tech/util/InvalidDocumentFormatException
      // try (31 -> 38): 39 com/l7tech/util/InvalidDocumentFormatException
      // try (36 -> 43): 44 com/l7tech/util/InvalidDocumentFormatException
      // try (41 -> 53): 53 com/l7tech/util/InvalidDocumentFormatException
      // try (76 -> 80): 81 com/l7tech/util/InvalidDocumentFormatException
      // try (78 -> 87): 87 com/l7tech/util/InvalidDocumentFormatException
      // try (89 -> 93): 94 com/l7tech/util/InvalidDocumentFormatException
      // try (91 -> 100): 100 com/l7tech/util/InvalidDocumentFormatException
      // try (102 -> 107): 108 com/l7tech/util/InvalidDocumentFormatException
      // try (105 -> 117): 117 com/l7tech/util/InvalidDocumentFormatException
      // try (130 -> 134): 135 com/l7tech/util/InvalidDocumentFormatException
      // try (132 -> 144): 144 com/l7tech/util/InvalidDocumentFormatException
      // try (157 -> 161): 162 com/l7tech/util/InvalidDocumentFormatException
      // try (159 -> 171): 171 com/l7tech/util/InvalidDocumentFormatException
      // try (184 -> 188): 189 com/l7tech/util/InvalidDocumentFormatException
      // try (186 -> 198): 198 com/l7tech/util/InvalidDocumentFormatException
      // try (211 -> 215): 216 com/l7tech/util/InvalidDocumentFormatException
      // try (213 -> 225): 225 com/l7tech/util/InvalidDocumentFormatException
   }

   @Override
   public boolean isSubjectConfirmationEncryptedKeyAvailable() {
      try {
         if (this.u != null) {
            return true;
         }
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }

      return false;
   }

   @Override
   public X509Certificate getSubjectCertificate() {
      return this.h;
   }

   @Override
   public X509Certificate getMessageSigningCertificate() {
      try {
         if (this.isHolderOfKey()) {
            return this.h;
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      try {
         return this.isSenderVouches() ? this.i : null;
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }
   }

   @Override
   public X509Certificate getIssuerCertificate() {
      return this.i;
   }

   @Override
   public void setIssuerCertificate(X509Certificate var1) {
      try {
         if (!this.isSenderVouches()) {
            throw new IllegalStateException(y[3]);
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      this.i = var1;
   }

   @Override
   public X509Certificate getAttestingEntity() {
      return this.j;
   }

   @Override
   public void setAttestingEntity(X509Certificate param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: invokevirtual com/l7tech/xml/saml/SamlAssertionV1.isHolderOfKey ()Z
      // 04: ifeq 2b
      // 07: aload 1
      // 08: aload 0
      // 09: getfield com/l7tech/xml/saml/SamlAssertionV1.h Ljava/security/cert/X509Certificate;
      // 0c: invokestatic com/l7tech/common/io/CertUtils.certsAreEqual (Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
      // 0f: ifne 44
      // 12: goto 19
      // 15: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 18: athrow
      // 19: new java/lang/IllegalStateException
      // 1c: dup
      // 1d: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 20: bipush 27
      // 22: aaload
      // 23: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 26: athrow
      // 27: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a: athrow
      // 2b: aload 0
      // 2c: invokevirtual com/l7tech/xml/saml/SamlAssertionV1.isSenderVouches ()Z
      // 2f: ifne 44
      // 32: new java/lang/IllegalStateException
      // 35: dup
      // 36: getstatic com/l7tech/xml/saml/SamlAssertionV1.y [Ljava/lang/String;
      // 39: bipush 25
      // 3b: aaload
      // 3c: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 3f: athrow
      // 40: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 43: athrow
      // 44: aload 0
      // 45: aload 1
      // 46: putfield com/l7tech/xml/saml/SamlAssertionV1.j Ljava/security/cert/X509Certificate;
      // 49: return
      // try (0 -> 8): 9 java/lang/IllegalArgumentException
      // try (3 -> 18): 18 java/lang/IllegalArgumentException
      // try (20 -> 30): 30 java/lang/IllegalArgumentException
   }

   @Override
   public Element asElement() {
      return this.e;
   }

   @Override
   public String getElementId() {
      return this.k;
   }

   @Override
   public void verifyEmbeddedIssuerSignature() throws SignatureException {
      try {
         if (!this.hasEmbeddedIssuerSignature()) {
            throw new IllegalStateException(y[34]);
         }
      } catch (TooManyChildElementsException var17) {
         throw a(var17);
      }

      try {
         String[] var9 = y;
         Element var1 = DomUtils.findOnlyOneChildElementByName(this.e, SoapConstants.DIGSIG_URI, var9[20]);

         try {
            if (var1 == null) {
               throw new SamlAssertion.CausedSignatureException(var9[1]);
            }
         } catch (TooManyChildElementsException var15) {
            throw a(var15);
         }

         X509Certificate var2 = this.getIssuerCertificate();

         try {
            if (var2 == null) {
               throw new SamlAssertion.CausedSignatureException(y[6]);
            }
         } catch (TooManyChildElementsException var14) {
            throw a(var14);
         }

         PublicKey var3 = var2.getPublicKey();
         KeyUsageChecker.requireActivity(KeyUsageActivity.verifyXml, var2);
         DsigValidity var4 = new SignatureValidityContext.Builder(var1, var3).build().verify();

         try {
            if (!var4.getCoreValidity()) {
               throw new SamlAssertion.CausedSignatureException(y[32] + var4.getInvalidSignatureMessage());
            }
         } catch (TooManyChildElementsException var13) {
            throw a(var13);
         }

         boolean var5 = false;

         for (Reference var7 : var4.getReferences()) {
            String var8 = DsigUtil.getIdFromReference(var7);
            if (this.getAssertionId().equals(var8)) {
               var5 = true;
               break;
            }
         }

         try {
            if (!var5) {
               throw new SamlAssertion.CausedSignatureException(y[35]);
            }
         } catch (TooManyChildElementsException var11) {
            throw a(var11);
         }

         try {
            if (!DsigUtil.hasSamlEnvelopedTransform(this.getAssertionId(), var1)) {
               throw new SamlAssertion.CausedSignatureException(y[26]);
            }
         } catch (TooManyChildElementsException var12) {
            throw a(var12);
         }

         try {
            if (var4.getNumberOfReferences() != 1) {
               throw new SamlAssertion.CausedSignatureException(y[12] + var4.getNumberOfReferences() + y[18]);
            }
         } catch (TooManyChildElementsException var10) {
            throw a(var10);
         }
      } catch (TooManyChildElementsException | KeyUsageException | CertificateParsingException var16) {
         throw new SamlAssertion.CausedSignatureException(var16);
      }
   }

   @Override
   public String getNameIdentifierFormat() {
      return this.q;
   }

   @Override
   public String getNameQualifier() {
      return this.r;
   }

   @Override
   public String getNameIdentifierValue() {
      return this.s;
   }

   @Override
   public String getAuthenticationMethod() {
      return this.t;
   }

   @Override
   public boolean isOneTimeUse() {
      return false;
   }

   @Override
   public Calendar getIssueInstant() {
      return this.n;
   }

   @Override
   public Calendar getStarts() {
      return this.o;
   }

   @Override
   public Calendar getExpires() {
      return this.p;
   }

   @Override
   public boolean isExpiringSoon(int var1) {
      Calendar var2 = this.getExpires();

      try {
         if (var2 == null) {
            return false;
         }
      } catch (IllegalArgumentException var5) {
         throw a(var5);
      }

      Calendar var3 = Calendar.getInstance(UTC_TIME_ZONE);

      try {
         var3.add(13, var1);
         if (!var2.after(var3)) {
            return true;
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }

      return false;
   }

   @Override
   public XmlObject getXmlBeansAssertionType() {
      return this.d;
   }

   private String a() {
      String var1;
      if (this.hasEmbeddedIssuerSignature()) {
         X509Certificate var2 = this.getIssuerCertificate();
         String var3 = var2.getSubjectDN().getName();
         var1 = HexUtils.encodeBase64(
            HexUtils.getMd5Digest(
               new byte[][]{
                  this.getAssertionId().getBytes(Charsets.UTF8), var3.getBytes(Charsets.UTF8), this.d.getSignature().getSignatureValue().getByteArrayValue()
               }
            )
         );
      } else {
         var1 = HexUtils.encodeBase64(
            HexUtils.getMd5Digest(
               new byte[][]{
                  this.getAssertionId().getBytes(Charsets.UTF8),
                  this.d.getIssuer().getBytes(Charsets.UTF8),
                  BigInteger.valueOf(this.a(this.d.getIssueInstant())).toByteArray(),
                  this.m.getBytes(Charsets.UTF8),
                  this.a(this.t).getBytes(Charsets.UTF8),
                  this.a(this.g).getBytes(Charsets.UTF8)
               }
            )
         );
      }

      return var1;
   }

   private long a(Calendar var1) {
      long var2 = 0L;
      if (var1 != null) {
         var2 = var1.getTimeInMillis();
      }

      return var2;
   }

   private String a(Object var1) {
      String var2 = "";
      if (var1 != null) {
         var2 = var1.toString();
      }

      return var2;
   }

   private String a(SubjectType param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: new java/lang/StringBuffer
      // 03: dup
      // 04: invokespecial java/lang/StringBuffer.<init> ()V
      // 07: astore 2
      // 08: aload 1
      // 09: ifnull 7d
      // 0c: aload 1
      // 0d: invokeinterface x0Assertion/oasisNamesTcSAML1/SubjectType.getNameIdentifier ()Lx0Assertion/oasisNamesTcSAML1/NameIdentifierType; 1
      // 12: astore 3
      // 13: aload 3
      // 14: ifnull 7d
      // 17: aload 3
      // 18: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getFormat ()Ljava/lang/String; 1
      // 1d: ifnull 40
      // 20: goto 27
      // 23: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 26: athrow
      // 27: aload 2
      // 28: aload 3
      // 29: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getFormat ()Ljava/lang/String; 1
      // 2e: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 31: pop
      // 32: aload 2
      // 33: ldc " "
      // 35: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 38: pop
      // 39: goto 40
      // 3c: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3f: athrow
      // 40: aload 3
      // 41: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getNameQualifier ()Ljava/lang/String; 1
      // 46: ifnull 62
      // 49: aload 2
      // 4a: aload 3
      // 4b: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getNameQualifier ()Ljava/lang/String; 1
      // 50: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 53: pop
      // 54: aload 2
      // 55: ldc " "
      // 57: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 5a: pop
      // 5b: goto 62
      // 5e: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 61: athrow
      // 62: aload 3
      // 63: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getStringValue ()Ljava/lang/String; 1
      // 68: ifnull 7d
      // 6b: aload 2
      // 6c: aload 3
      // 6d: invokeinterface x0Assertion/oasisNamesTcSAML1/NameIdentifierType.getStringValue ()Ljava/lang/String; 1
      // 72: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 75: pop
      // 76: goto 7d
      // 79: invokestatic com/l7tech/xml/saml/SamlAssertionV1.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7c: athrow
      // 7d: aload 2
      // 7e: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // 81: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 84: areturn
      // try (9 -> 14): 15 java/lang/IllegalArgumentException
      // try (11 -> 26): 27 java/lang/IllegalArgumentException
      // try (29 -> 41): 42 java/lang/IllegalArgumentException
      // try (44 -> 52): 53 java/lang/IllegalArgumentException
   }

   static {
      String[] var5 = new String[40];
      int var3 = 0;
      String var2 = "s\u0002l^\u001d\"#S\u0006jOT-$\u00104_g8d+C\u0014{X\u0000-%^G}E\u0001(.\u0010\tq^T&/\u0010\u0017\u007fX\u0007!.\u0019]\u000emY\u001d*-\u00104wM\u001a%>E\u0015{\n\u0011(/]\u0002p^E{\u0002gc\u001a\"%\u0010\u0004qD\u0000%#^\u0002z\n\u0015d\u0019U\u0004kX\u001d03d\buO\u001a\u0016/V\u0002lO\u001a'/\u0010\u0005k^T->\u0010\u0010\u007fY\u001ac>\u0010\u0006>^\u001c1'R\u0017lC\u001a0As\u0006p\r\u0000d9U\u0013>^\u001c!jY\u0014m_\u00116jS\u0002l^\u001d\"#S\u0006jOT\"%BGpE\u001ad\u0019U\tzO\u0006i\u001c_\u0012}B\u00117jQ\u0014mO\u00060#_\t\fu\t}X\r4>U\u0003UO\r\u0012q\u0013jX\u001d&?D\u0002M^\u00150/]\u0002p^\u001a]\u000emY\u001d*-\u0010\u000emY\u0001!8\u0010\u0004{X\u0000-,Y\u0004\u007f^\u0011\u000bq\u0014mO\u00060#_\tWn\u001eq\u0012jB\u001b6#J\u0006jC\u001b*\u000eU\u0004wY\u001d+$c\u0013\u007f^\u0011)/^\u0013at\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bjQ\u0014mO\u00060#_\t2\n\u00161>\u0010\u0013vOT%9C\u0002l^\u001d+$\u0010\u0003qO\u0007d$_\u0013>I\u001b*>Q\u000ep\n\u0015d\u0001U\u001eWD\u0012+\u000eC\u0002pN\u00116gF\bkI\u001c!9\u0007{\u0002gc\u001a\"%;c&SfT%9C\u0002l^\u001d+$\u0010\u0014wM\u001a%>E\u0015{\n\u001c%9\u0010\u000ep\\\u0015(#TGp_\u0019&/BGqLT6/V\u0002lO\u001a'/CG6\u0017q\u0012jB\u0011*>Y\u0004\u007f^\u001d+$c\u0013\u007f^\u0011)/^\u0013Zs\bkF\u0010d$_\u0013>N\u00110/B\nwD\u0011d>X\u0002>Y\u0015)&\u0010$qD\u0012-8]\u0006jC\u001b*\u0007U\u0013vE\u0010db^\u0002w^\u001c!8\u0010\u000fqF\u0010!8\u001d\bx\u0007\u001f!3\u0010\tqXT7/^\u0003{XY2%E\u0004vO\u0007m\u00adt\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bj\u0001I/\n\u001579U\u0015jC\u001b*f\u0010\u0005k^T0\"UG\u007fY\u0007!8D\u000eqDT %U\u0014>D\u001b0jS\bp^\u0015-$\u0010\u0006p\n50>B\u000e|_\u0000!\u0019D\u0006jO\u0019!$DK>k\u00010\"U\tjC\u0017%>Y\bpy\u0000%>U\n{D\u0000hj_\u0015>k\u00010\"_\u0015wP\u00150#_\tZO\u0017-9Y\bpy\u0000%>U\n{D\u0000mt\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bjQ\u0014mO\u00060#_\t2\n\u00161>\u0010\u0013vOT%9C\u0002l^\u001d+$\u0010\u0003qO\u0007d$_\u0013>I\u001b*>Q\u000ep\n\u0015d\u0019E\u0005tO\u00170\t_\txC\u0006)+D\u000eqD\u0007{\u0002gc\u001a\"%\u0002\u0019Igt\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bjQ\u0014mO\u00060#_\t2\n\u00161>\u0010\u0013vOT%9C\u0002l^\u001d+$\u0010\u0003qO\u0007d$_\u0013>I\u001b*>Q\u000ep\n\u0015*ju\t}X\r4>U\u0003UO\r\tc\u000eyD\u00150?B\u0002\tc\u000eyD\u00150?B\u0002\u0013c\u0012|@\u0011'>s\bpL\u001d6'Q\u0013wE\u001a/y\thK\u0018-.\u0010%\u007fY\u0011r~\u0010\u000ep\n'\u0005\u0007|GjE\u001f!$\u0010\u000emY\u0001!8\u0010\u0004{X\u0000-,Y\u0004\u007f^\u0011\u0007c\u0012|@\u0011'>?s\u0006p\r\u0000d9U\u0013>^\u001c!jQ\u0013jO\u00070#^\u0000>O\u001a0#D\u001e>L\u001b6j^\bp\n'!$T\u0002l\u0007\"+?S\u000f{YT%9C\u0002l^\u001d+$Cc&SfT%9C\u0002l^\u001d+$\u0010\u0014wM\u001a%>E\u0015{\n\u001c%9\u0010\u000ep\\\u0015(#TGjX\u0015*9V\blGTl'E\u0014j\n\u0016!jU\thO\u0018+:U\u00037\u0004cs\u0006p\r\u0000d9U\u0013>^\u001c!jQ\u0013jO\u00070#^\u0000>O\u001a0#D\u001e>I\u00116>\u0010\u0013q\n\u0010-,V\u0002lO\u001a0jS\u0002l^T0\"U\t>Y\u0001& U\u0004j\n\u0017!8DGxE\u0006d\u0002_\u000bzO\u0006i\u0005VJUO\rd+C\u0014{X\u0000-%^\rX\brN\u00116g_\u00013A\u0011=G\u007f\t{\n\u0015*.\u0010\bpF\rd%^\u0002>y\u0001& U\u0004ji\u001b*,Y\u0015sK\u0000-%^H]E\u001a\"#B\n\u007f^\u001d+$}\u0002jB\u001b j]\u0012m^T&/\u0010\u0017lO\u0007!$D$c&SfT-9C\u0012{XT7#W\t\u007f^\u00016/\u0010\u000f\u007fYT*%\u0010,{S=*,_\u001cq\u0014mO\u00060#_\tWnT)#C\u0014wD\u0013d%BG{G\u000403Ee\t\u007fH\u0018!jD\b>\\\u00116#V\u001e>Y\u001d#$Q\u0013kX\u0011d%VGMk9\bjQ\u0014mO\u00060#_\t$\n\"%&Y\u0003w^\rd$_\u0013>K\u0017,#U\u0011{NZdat\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bjQ\u0014mO\u00060#_\t2\n\u00161>\u0010\u0013vOT%9C\u0002l^\u001d+$\u0010\u0003qO\u0007d$_\u0013>I\u001b*>Q\u000ep\n\u0015d\u0019E\u0005tO\u001706}\u0006g\n\u001a+>\u0010\u0011{X\u001d\"3\u0010\u0014wM\u001a%>E\u0015{\u0011T0\"Y\u0014>K\u00077/B\u0013wE\u001ad#CGpE\u0000d9Y\u0000pO\u00106c&SfT%9C\u0002l^\u001d+$\u0010\u0014wM\u001a%>E\u0015{\n\u0010+/CGpE\u0000d8U\u0001{X\u0011*)UG\u007fY\u0007!8D\u000eqDZ°t\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bj\u0001I/\n\u001579U\u0015jC\u001b*f\u0010\u0005k^T0\"UG\u007fY\u0007!8D\u000eqDT'%^\u0013\u007fC\u001a7j]\blOT0\"Q\t>E\u001a!jq\u0013jX\u001d&?D\u0002M^\u00150/]\u0002p^Xd\u000bE\u0013vO\u001a0#S\u0006jC\u001b*\u0019D\u0006jO\u0019!$DK>E\u0006d\u000bE\u0013vE\u0006-0Q\u0013wE\u001a\u0000/S\u000emC\u001b*\u0019D\u0006jO\u0019!$D.s\bkF\u0010d$_\u0013>L\u001d*.\u0010\u0013vOT7?R\r{I\u0000d#^GjB\u0011d+C\u0014{X\u0000-%^G$ ";
      int var4 = "s\u0002l^\u001d\"#S\u0006jOT-$\u00104_g8d+C\u0014{X\u0000-%^G}E\u0001(.\u0010\tq^T&/\u0010\u0017\u007fX\u0007!.\u0019]\u000emY\u001d*-\u00104wM\u001a%>E\u0015{\n\u0011(/]\u0002p^E{\u0002gc\u001a\"%\u0010\u0004qD\u0000%#^\u0002z\n\u0015d\u0019U\u0004kX\u001d03d\buO\u001a\u0016/V\u0002lO\u001a'/\u0010\u0005k^T->\u0010\u0010\u007fY\u001ac>\u0010\u0006>^\u001c1'R\u0017lC\u001a0As\u0006p\r\u0000d9U\u0013>^\u001c!jY\u0014m_\u00116jS\u0002l^\u001d\"#S\u0006jOT\"%BGpE\u001ad\u0019U\tzO\u0006i\u001c_\u0012}B\u00117jQ\u0014mO\u00060#_\t\fu\t}X\r4>U\u0003UO\r\u0012q\u0013jX\u001d&?D\u0002M^\u00150/]\u0002p^\u001a]\u000emY\u001d*-\u0010\u000emY\u0001!8\u0010\u0004{X\u0000-,Y\u0004\u007f^\u0011\u000bq\u0014mO\u00060#_\tWn\u001eq\u0012jB\u001b6#J\u0006jC\u001b*\u000eU\u0004wY\u001d+$c\u0013\u007f^\u0011)/^\u0013at\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bjQ\u0014mO\u00060#_\t2\n\u00161>\u0010\u0013vOT%9C\u0002l^\u001d+$\u0010\u0003qO\u0007d$_\u0013>I\u001b*>Q\u000ep\n\u0015d\u0001U\u001eWD\u0012+\u000eC\u0002pN\u00116gF\bkI\u001c!9\u0007{\u0002gc\u001a\"%;c&SfT%9C\u0002l^\u001d+$\u0010\u0014wM\u001a%>E\u0015{\n\u001c%9\u0010\u000ep\\\u0015(#TGp_\u0019&/BGqLT6/V\u0002lO\u001a'/CG6\u0017q\u0012jB\u0011*>Y\u0004\u007f^\u001d+$c\u0013\u007f^\u0011)/^\u0013Zs\bkF\u0010d$_\u0013>N\u00110/B\nwD\u0011d>X\u0002>Y\u0015)&\u0010$qD\u0012-8]\u0006jC\u001b*\u0007U\u0013vE\u0010db^\u0002w^\u001c!8\u0010\u000fqF\u0010!8\u001d\bx\u0007\u001f!3\u0010\tqXT7/^\u0003{XY2%E\u0004vO\u0007m\u00adt\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bj\u0001I/\n\u001579U\u0015jC\u001b*f\u0010\u0005k^T0\"UG\u007fY\u0007!8D\u000eqDT %U\u0014>D\u001b0jS\bp^\u0015-$\u0010\u0006p\n50>B\u000e|_\u0000!\u0019D\u0006jO\u0019!$DK>k\u00010\"U\tjC\u0017%>Y\bpy\u0000%>U\n{D\u0000hj_\u0015>k\u00010\"_\u0015wP\u00150#_\tZO\u0017-9Y\bpy\u0000%>U\n{D\u0000mt\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bjQ\u0014mO\u00060#_\t2\n\u00161>\u0010\u0013vOT%9C\u0002l^\u001d+$\u0010\u0003qO\u0007d$_\u0013>I\u001b*>Q\u000ep\n\u0015d\u0019E\u0005tO\u00170\t_\txC\u0006)+D\u000eqD\u0007{\u0002gc\u001a\"%\u0002\u0019Igt\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bjQ\u0014mO\u00060#_\t2\n\u00161>\u0010\u0013vOT%9C\u0002l^\u001d+$\u0010\u0003qO\u0007d$_\u0013>I\u001b*>Q\u000ep\n\u0015*ju\t}X\r4>U\u0003UO\r\tc\u000eyD\u00150?B\u0002\tc\u000eyD\u00150?B\u0002\u0013c\u0012|@\u0011'>s\bpL\u001d6'Q\u0013wE\u001a/y\thK\u0018-.\u0010%\u007fY\u0011r~\u0010\u000ep\n'\u0005\u0007|GjE\u001f!$\u0010\u000emY\u0001!8\u0010\u0004{X\u0000-,Y\u0004\u007f^\u0011\u0007c\u0012|@\u0011'>?s\u0006p\r\u0000d9U\u0013>^\u001c!jQ\u0013jO\u00070#^\u0000>O\u001a0#D\u001e>L\u001b6j^\bp\n'!$T\u0002l\u0007\"+?S\u000f{YT%9C\u0002l^\u001d+$Cc&SfT%9C\u0002l^\u001d+$\u0010\u0014wM\u001a%>E\u0015{\n\u001c%9\u0010\u000ep\\\u0015(#TGjX\u0015*9V\blGTl'E\u0014j\n\u0016!jU\thO\u0018+:U\u00037\u0004cs\u0006p\r\u0000d9U\u0013>^\u001c!jQ\u0013jO\u00070#^\u0000>O\u001a0#D\u001e>I\u00116>\u0010\u0013q\n\u0010-,V\u0002lO\u001a0jS\u0002l^T0\"U\t>Y\u0001& U\u0004j\n\u0017!8DGxE\u0006d\u0002_\u000bzO\u0006i\u0005VJUO\rd+C\u0014{X\u0000-%^\rX\brN\u00116g_\u00013A\u0011=G\u007f\t{\n\u0015*.\u0010\bpF\rd%^\u0002>y\u0001& U\u0004ji\u001b*,Y\u0015sK\u0000-%^H]E\u001a\"#B\n\u007f^\u001d+$}\u0002jB\u001b j]\u0012m^T&/\u0010\u0017lO\u0007!$D$c&SfT-9C\u0012{XT7#W\t\u007f^\u00016/\u0010\u000f\u007fYT*%\u0010,{S=*,_\u001cq\u0014mO\u00060#_\tWnT)#C\u0014wD\u0013d%BG{G\u000403Ee\t\u007fH\u0018!jD\b>\\\u00116#V\u001e>Y\u001d#$Q\u0013kX\u0011d%VGMk9\bjQ\u0014mO\u00060#_\t$\n\"%&Y\u0003w^\rd$_\u0013>K\u0017,#U\u0011{NZdat\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bjQ\u0014mO\u00060#_\t2\n\u00161>\u0010\u0013vOT%9C\u0002l^\u001d+$\u0010\u0003qO\u0007d$_\u0013>I\u001b*>Q\u000ep\n\u0015d\u0019E\u0005tO\u001706}\u0006g\n\u001a+>\u0010\u0011{X\u001d\"3\u0010\u0014wM\u001a%>E\u0015{\u0011T0\"Y\u0014>K\u00077/B\u0013wE\u001ad#CGpE\u0000d9Y\u0000pO\u00106c&SfT%9C\u0002l^\u001d+$\u0010\u0014wM\u001a%>E\u0015{\n\u0010+/CGpE\u0000d8U\u0001{X\u0011*)UG\u007fY\u0007!8D\u000eqDZ°t\u0002lC\u0002!.{\u0002g\n?!3y\u0003{D\u0000-,Y\u0002l\n\u0006!,U\u0015m\n\u0000+jQGMk9\bj\u0001I/\n\u001579U\u0015jC\u001b*f\u0010\u0005k^T0\"UG\u007fY\u0007!8D\u000eqDT'%^\u0013\u007fC\u001a7j]\blOT0\"Q\t>E\u001a!jq\u0013jX\u001d&?D\u0002M^\u00150/]\u0002p^Xd\u000bE\u0013vO\u001a0#S\u0006jC\u001b*\u0019D\u0006jO\u0019!$DK>E\u0006d\u000bE\u0013vE\u0006-0Q\u0013wE\u001a\u0000/S\u000emC\u001b*\u0019D\u0006jO\u0019!$D.s\bkF\u0010d$_\u0013>L\u001d*.\u0010\u0013vOT7?R\r{I\u0000d#^GjB\u0011d+C\u0014{X\u0000-%^G$ "
         .length();
      char var1 = '1';
      int var8 = -1;

      label39:
      while (true) {
         byte var10000 = 90;
         String var10001 = var2.substring(++var8, var8 + var1);
         byte var10002 = -1;

         while (true) {
            String var9 = c(var10000, c(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var8 += var1) >= var4) {
                     y = var5;

                     label26: {
                        try {
                           if (!SamlAssertionV1.class.desiredAssertionStatus()) {
                              var10 = true;
                              break label26;
                           }
                        } catch (IllegalArgumentException var6) {
                           throw a(var6);
                        }

                        var10 = false;
                     }

                     v = var10;
                     c = Logger.getLogger(SamlAssertionV1.class.getName());
                     return;
                  }

                  var1 = var2.charAt(var8);
                  break;
               default:
                  var5[var3++] = var9;
                  if ((var8 += var1) < var4) {
                     var1 = var2.charAt(var8);
                     continue label39;
                  }

                  var2 = "b\u0003|^\u0007,?H2p@\u0010+\u0019T\u0000zY\u0010+(T1r\u0003m_\u001c#\"R\u0007kNU,%\u00115^f9e*B\u0015zY\u0001,$_F|D\u0000)/\u0011\bp_U'.\u0011\u0016~Y\u0006 /";
                  var4 = "b\u0003|^\u0007,?H2p@\u0010+\u0019T\u0000zY\u0010+(T1r\u0003m_\u001c#\"R\u0007kNU,%\u00115^f9e*B\u0015zY\u0001,$_F|D\u0000)/\u0011\bp_U'.\u0011\u0016~Y\u0006 /"
                     .length();
                  var1 = 22;
                  var8 = -1;
            }

            var10000 = 91;
            var10001 = var2.substring(++var8, var8 + var1);
            var10002 = 0;
         }
      }
   }

   private static Exception a(Exception var0) {
      return var0;
   }

   private static char[] c(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 16);
      }

      return var10000;
   }

   private static String c(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 106;
            case 1 -> 61;
            case 2 -> 68;
            case 3 -> 112;
            case 4 -> 46;
            case 5 -> 30;
            default -> 16;
         });
      }

      return new String(var10001).intern();
   }
}
