package com.l7tech.security.wsfederation;

import com.l7tech.common.http.GenericHttpClient;
import com.l7tech.common.http.GenericHttpException;
import com.l7tech.common.http.GenericHttpHeader;
import com.l7tech.common.http.GenericHttpRequestParams;
import com.l7tech.common.http.HttpConstants;
import com.l7tech.common.http.HttpCookie;
import com.l7tech.common.http.ParameterizedString;
import com.l7tech.common.http.SimpleHttpClient;
import com.l7tech.common.http.SimpleHttpClient.SimpleHttpResponse;
import com.l7tech.common.io.XmlUtil;
import com.l7tech.common.mime.ContentTypeHeader;
import com.l7tech.security.token.XmlSecurityToken;
import com.l7tech.security.wstrust.TokenServiceClient;
import com.l7tech.security.wstrust.WsTrustConfig;
import com.l7tech.security.wstrust.WsTrustConfigFactory;
import com.l7tech.util.CausedIOException;
import com.l7tech.util.Charsets;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.ISO8601Date;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.util.SoapConstants;
import com.l7tech.xml.saml.SamlAssertion;
import com.l7tech.xml.soap.SoapUtil;
import jakarta.xml.soap.SOAPBody;
import jakarta.xml.soap.SOAPEnvelope;
import jakarta.xml.soap.SOAPException;
import jakarta.xml.soap.SOAPMessage;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.util.Date;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.net.ssl.SSLException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class FederationPassiveClient {
   private static final Logger a;
   private static final String b;
   private static final String c;
   private static final Short d;
   private static final String[] e;

   public static XmlSecurityToken obtainFederationToken(
      GenericHttpClient var0, GenericHttpRequestParams var1, String var2, String var3, String var4, boolean var5
   ) throws IOException {
      try {
         if (var0 == null) {
            throw new IllegalArgumentException(e[47]);
         }
      } catch (GenericHttpException var18) {
         throw a(var18);
      }

      try {
         if (var1 == null) {
            throw new IllegalArgumentException(e[51]);
         }
      } catch (GenericHttpException var26) {
         throw a(var26);
      }

      try {
         if (var1.getTargetUrl() == null) {
            throw new IllegalArgumentException(e[45]);
         }
      } catch (GenericHttpException var17) {
         throw a(var17);
      }

      try {
         if (var1.getTargetUrl().getQuery() != null) {
            throw new IllegalArgumentException(e[34]);
         }
      } catch (GenericHttpException var25) {
         throw a(var25);
      }

      URL var7 = var1.getTargetUrl();
      URL var8 = a(var7.toExternalForm(), var2, var3, var4, var5);

      try {
         if (a.isLoggable(Level.FINE)) {
            a.log(Level.FINE, e[22] + var8.toExternalForm() + e[39]);
         }
      } catch (GenericHttpException var24) {
         throw a(var24);
      }

      GenericHttpRequestParams var9 = new GenericHttpRequestParams(var1);

      try {
         var9.setTargetUrl(var8);
         if (var9.getPasswordAuthentication() != null) {
            var9.setPreemptiveAuthentication(true);
         }
      } catch (GenericHttpException var23) {
         throw a(var23);
      }

      Document var6;
      try {
         SimpleHttpClient var10 = new SimpleHttpClient(var0);
         SimpleHttpResponse var27 = var10.get(var9);
         int var12 = var27.getStatus();

         try {
            if (var12 != 200) {
               throw new ResponseStatusException(e[46] + var12, var12);
            }
         } catch (GenericHttpException var20) {
            throw a(var20);
         }

         ContentTypeHeader var13 = var27.getContentType();

         try {
            if (var13 == null) {
               throw new UnsupportedEncodingException(e[11]);
            }
         } catch (GenericHttpException var16) {
            throw a(var16);
         }

         try {
            if (!var13.isHtml()) {
               throw new InvalidHtmlException(e[3] + var13);
            }
         } catch (GenericHttpException var21) {
            throw a(var21);
         }

         byte[] var14 = var27.getBytes();
         String var15 = new String(var14, var13.getEncoding());
         var6 = a(var15);
      } catch (GenericHttpException var22) {
         Throwable var11 = ExceptionUtils.getCauseIfCausedBy(var22, SSLException.class);

         try {
            if (var11 instanceof SSLException) {
               throw (SSLException)var11;
            }
         } catch (GenericHttpException var19) {
            throw a(var19);
         }

         throw var22;
      }

      return a(var6);
   }

   public static XmlSecurityToken exchangeFederationToken(
      GenericHttpClient var0, GenericHttpRequestParams var1, XmlSecurityToken var2, String var3, boolean var4
   ) throws IOException {
      try {
         if (var0 == null) {
            throw new IllegalArgumentException(e[47]);
         }
      } catch (GenericHttpException var21) {
         throw a(var21);
      }

      try {
         if (var1 == null) {
            throw new IllegalArgumentException(e[51]);
         }
      } catch (GenericHttpException var15) {
         throw a(var15);
      }

      try {
         if (var1.getTargetUrl() == null) {
            throw new IllegalArgumentException(e[45]);
         }
      } catch (GenericHttpException var20) {
         throw a(var20);
      }

      String var6 = a(var2, var3, var4);

      Document var5;
      try {
         byte[] var7 = var6.getBytes(Charsets.UTF8);
         var1.setContentType(ContentTypeHeader.APPLICATION_X_WWW_FORM_URLENCODED);
         var1.setExtraHeaders(new GenericHttpHeader[]{new GenericHttpHeader(HttpConstants.HEADER_CONTENT_LENGTH, Integer.toString(var7.length))});
         SimpleHttpClient var22 = new SimpleHttpClient(var0);
         SimpleHttpResponse var9 = var22.post(var1, var7);
         int var10 = var9.getStatus();

         try {
            if (var10 != 200) {
               throw new ResponseStatusException(e[46] + var10, var10);
            }
         } catch (GenericHttpException var17) {
            throw a(var17);
         }

         ContentTypeHeader var11 = var9.getContentType();

         try {
            if (var11 == null) {
               throw new UnsupportedEncodingException(e[27]);
            }
         } catch (GenericHttpException var14) {
            throw a(var14);
         }

         try {
            if (!var11.isHtml()) {
               throw new InvalidHtmlException(e[15] + var11);
            }
         } catch (GenericHttpException var18) {
            throw a(var18);
         }

         byte[] var12 = var9.getBytes();
         String var13 = new String(var12, var11.getEncoding());
         var5 = a(var13);
      } catch (GenericHttpException var19) {
         Throwable var8 = ExceptionUtils.getCauseIfCausedBy(var19, SSLException.class);

         try {
            if (var8 instanceof SSLException) {
               throw (SSLException)var8;
            }
         } catch (GenericHttpException var16) {
            throw a(var16);
         }

         throw var19;
      }

      return a(var5);
   }

   public static Set<HttpCookie> postFederationToken(
      GenericHttpClient param0, GenericHttpRequestParams param1, XmlSecurityToken param2, String param3, boolean param4
   ) throws IOException {
      // $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: ifnonnull 016
      // 004: new java/lang/IllegalArgumentException
      // 007: dup
      // 008: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 00b: bipush 52
      // 00d: aaload
      // 00e: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 011: athrow
      // 012: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 015: athrow
      // 016: aload 1
      // 017: ifnonnull 02c
      // 01a: new java/lang/IllegalArgumentException
      // 01d: dup
      // 01e: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 021: bipush 23
      // 023: aaload
      // 024: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 027: athrow
      // 028: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02b: athrow
      // 02c: aload 1
      // 02d: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.getTargetUrl ()Ljava/net/URL;
      // 030: ifnonnull 045
      // 033: new java/lang/IllegalArgumentException
      // 036: dup
      // 037: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 03a: bipush 9
      // 03c: aaload
      // 03d: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 040: athrow
      // 041: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 044: athrow
      // 045: new java/util/LinkedHashSet
      // 048: dup
      // 049: invokespecial java/util/LinkedHashSet.<init> ()V
      // 04c: astore 5
      // 04e: aload 1
      // 04f: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.getTargetUrl ()Ljava/net/URL;
      // 052: astore 6
      // 054: aload 2
      // 055: aload 3
      // 056: iload 4
      // 058: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Lcom/l7tech/security/token/XmlSecurityToken;Ljava/lang/String;Z)Ljava/lang/String;
      // 05b: astore 7
      // 05d: aload 7
      // 05f: getstatic com/l7tech/util/Charsets.UTF8 Ljava/nio/charset/Charset;
      // 062: invokevirtual java/lang/String.getBytes (Ljava/nio/charset/Charset;)[B
      // 065: astore 8
      // 067: aload 1
      // 068: getstatic com/l7tech/common/mime/ContentTypeHeader.APPLICATION_X_WWW_FORM_URLENCODED Lcom/l7tech/common/mime/ContentTypeHeader;
      // 06b: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setContentType (Lcom/l7tech/common/mime/ContentTypeHeader;)V
      // 06e: aload 1
      // 06f: bipush 1
      // 070: anewarray 515
      // 073: dup
      // 074: bipush 0
      // 075: new com/l7tech/common/http/GenericHttpHeader
      // 078: dup
      // 079: getstatic com/l7tech/common/http/HttpConstants.HEADER_CONTENT_LENGTH Ljava/lang/String;
      // 07c: aload 8
      // 07e: arraylength
      // 07f: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 082: invokespecial com/l7tech/common/http/GenericHttpHeader.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 085: aastore
      // 086: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setExtraHeaders ([Lcom/l7tech/common/http/HttpHeader;)V
      // 089: new com/l7tech/common/http/SimpleHttpClient
      // 08c: dup
      // 08d: aload 0
      // 08e: invokespecial com/l7tech/common/http/SimpleHttpClient.<init> (Lcom/l7tech/common/http/GenericHttpClient;)V
      // 091: astore 9
      // 093: aload 9
      // 095: aload 1
      // 096: aload 8
      // 098: invokevirtual com/l7tech/common/http/SimpleHttpClient.post (Lcom/l7tech/common/http/GenericHttpRequestParams;[B)Lcom/l7tech/common/http/SimpleHttpClient$SimpleHttpResponse;
      // 09b: astore 10
      // 09d: aload 10
      // 09f: invokeinterface com/l7tech/common/http/SimpleHttpClient$SimpleHttpResponse.getStatus ()I 1
      // 0a4: istore 11
      // 0a6: iload 11
      // 0a8: sipush 302
      // 0ab: if_icmpeq 0d9
      // 0ae: iload 11
      // 0b0: sipush 303
      // 0b3: if_icmpeq 0d9
      // 0b6: goto 0bd
      // 0b9: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0bc: athrow
      // 0bd: new com/l7tech/security/wsfederation/ResponseStatusException
      // 0c0: dup
      // 0c1: iload 11
      // 0c3: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 0c6: bipush 48
      // 0c8: aaload
      // 0c9: swap
      // 0ca: invokedynamic makeConcatWithConstants (Ljava/lang/String;I)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" ]
      // 0cf: iload 11
      // 0d1: invokespecial com/l7tech/security/wsfederation/ResponseStatusException.<init> (Ljava/lang/String;I)V
      // 0d4: athrow
      // 0d5: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d8: athrow
      // 0d9: aload 10
      // 0db: invokeinterface com/l7tech/common/http/SimpleHttpClient$SimpleHttpResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders; 1
      // 0e0: astore 12
      // 0e2: aload 12
      // 0e4: getstatic com/l7tech/common/http/HttpConstants.HEADER_LOCATION Ljava/lang/String;
      // 0e7: invokeinterface com/l7tech/common/http/HttpHeaders.getOnlyOneValue (Ljava/lang/String;)Ljava/lang/String; 2
      // 0ec: astore 13
      // 0ee: aload 13
      // 0f0: ifnonnull 10e
      // 0f3: new com/l7tech/common/http/GenericHttpException
      // 0f6: dup
      // 0f7: getstatic com/l7tech/common/http/HttpConstants.HEADER_LOCATION Ljava/lang/String;
      // 0fa: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 0fd: bipush 35
      // 0ff: aaload
      // 100: swap
      // 101: 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" ]
      // 106: invokespecial com/l7tech/common/http/GenericHttpException.<init> (Ljava/lang/String;)V
      // 109: athrow
      // 10a: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10d: athrow
      // 10e: new java/net/URL
      // 111: dup
      // 112: aload 6
      // 114: aload 13
      // 116: invokespecial java/net/URL.<init> (Ljava/net/URL;Ljava/lang/String;)V
      // 119: astore 14
      // 11b: aload 14
      // 11d: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.isFederationServerUrl (Ljava/net/URL;)Z
      // 120: ifeq 135
      // 123: new com/l7tech/security/wsfederation/NotAuthorizedException
      // 126: dup
      // 127: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 12a: bipush 19
      // 12c: aaload
      // 12d: invokespecial com/l7tech/security/wsfederation/NotAuthorizedException.<init> (Ljava/lang/String;)V
      // 130: athrow
      // 131: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 134: athrow
      // 135: aload 12
      // 137: getstatic com/l7tech/common/http/HttpConstants.HEADER_SET_COOKIE Ljava/lang/String;
      // 13a: invokeinterface com/l7tech/common/http/HttpHeaders.getValues (Ljava/lang/String;)Ljava/util/List; 2
      // 13f: astore 15
      // 141: aload 15
      // 143: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 148: astore 16
      // 14a: aload 16
      // 14c: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 151: ifeq 17a
      // 154: aload 16
      // 156: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 15b: astore 17
      // 15d: aload 17
      // 15f: checkcast java/lang/String
      // 162: astore 18
      // 164: aload 5
      // 166: new com/l7tech/common/http/HttpCookie
      // 169: dup
      // 16a: aload 6
      // 16c: aload 18
      // 16e: invokespecial com/l7tech/common/http/HttpCookie.<init> (Ljava/net/URL;Ljava/lang/String;)V
      // 171: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 176: pop
      // 177: goto 14a
      // 17a: goto 18f
      // 17d: astore 16
      // 17f: new com/l7tech/util/CausedIOException
      // 182: dup
      // 183: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 186: bipush 38
      // 188: aaload
      // 189: aload 16
      // 18b: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 18e: athrow
      // 18f: goto 1b2
      // 192: astore 8
      // 194: aload 8
      // 196: ldc javax/net/ssl/SSLException
      // 198: invokestatic com/l7tech/util/ExceptionUtils.getCauseIfCausedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/Throwable;
      // 19b: astore 9
      // 19d: aload 9
      // 19f: instanceof javax/net/ssl/SSLException
      // 1a2: ifeq 1af
      // 1a5: aload 9
      // 1a7: checkcast javax/net/ssl/SSLException
      // 1aa: athrow
      // 1ab: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ae: athrow
      // 1af: aload 8
      // 1b1: athrow
      // 1b2: aload 5
      // 1b4: invokestatic java/util/Collections.unmodifiableSet (Ljava/util/Set;)Ljava/util/Set;
      // 1b7: areturn
      // try (129 -> 139): 139 com/l7tech/common/http/HttpCookie$IllegalFormatException
      // try (109 -> 121): 121 com/l7tech/common/http/HttpCookie$IllegalFormatException
      // try (83 -> 100): 100 com/l7tech/common/http/HttpCookie$IllegalFormatException
      // try (80 -> 86): 87 com/l7tech/common/http/HttpCookie$IllegalFormatException
      // try (22 -> 32): 32 com/l7tech/common/http/HttpCookie$IllegalFormatException
      // try (11 -> 20): 20 com/l7tech/common/http/HttpCookie$IllegalFormatException
      // try (0 -> 9): 9 com/l7tech/common/http/HttpCookie$IllegalFormatException
      // try (145 -> 166): 167 com/l7tech/common/http/HttpCookie$IllegalFormatException
      // try (46 -> 176): 177 com/l7tech/common/http/GenericHttpException
      // try (182 -> 188): 188 com/l7tech/common/http/HttpCookie$IllegalFormatException
   }

   public static boolean isFederationServerUrl(URL var0) {
      boolean var1 = false;
      String var2 = var0.getQuery();
      if (var2 != null) {
         try {
            ParameterizedString var7 = new ParameterizedString(var2);

            try {
               if (!var7.parameterHasSingleValue(e[17]) || !e[5].equals(var7.getParameterValue(e[40]))) {
                  return var1;
               }
            } catch (IllegalArgumentException var5) {
               throw a(var5);
            }

            var1 = true;
         } catch (IllegalArgumentException var6) {
            IllegalArgumentException var3 = var6;

            try {
               if (a.isLoggable(Level.INFO)) {
                  a.log(Level.INFO, e[10] + var3.getMessage());
               }
            } catch (IllegalArgumentException var4) {
               throw a(var4);
            }
         }
      }

      return var1;
   }

   private static SamlAssertion a(Document var0) throws IOException {
      try {
         Document var2;
         if (!SoapConstants.ENVELOPE_EL_NAME.equals(var0.getDocumentElement().getLocalName())) {
            SOAPMessage var3 = SoapUtil.makeMessage();
            SOAPEnvelope var4 = var3.getSOAPPart().getEnvelope();
            var2 = XmlUtil.createEmptyDocument(var4.getElementName().getLocalName(), var4.getElementName().getPrefix(), var4.getElementName().getURI());
            SOAPBody var5 = var4.getBody();
            Element var6 = var2.createElementNS(var5.getElementName().getURI(), var5.getElementName().getQualifiedName());
            var2.getDocumentElement().appendChild(var6);
            var6.appendChild(var2.importNode(var0.getDocumentElement(), true));
         } else {
            var2 = var0;
         }

         WsTrustConfig var11 = WsTrustConfigFactory.getDefaultWsTrustConfig();
         TokenServiceClient var12 = new TokenServiceClient(var11);
         Object var13 = var12.parseUnsignedRequestSecurityTokenResponse(var2);

         try {
            if (!(var13 instanceof SamlAssertion)) {
               throw new InvalidTokenException(e[31]);
            }
         } catch (SOAPException var8) {
            throw a(var8);
         }

         return (SamlAssertion)var13;
      } catch (SOAPException var9) {
         String[] var7 = e;
         throw new InvalidTokenException(var7[6], var9);
      } catch (InvalidDocumentFormatException var10) {
         throw new InvalidTokenException(e[0], var10);
      }
   }

   private static Document a(String param0) throws IOException {
      // $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 org/cyberneko/html/parsers/DOMParser
      // 03: dup
      // 04: invokespecial org/cyberneko/html/parsers/DOMParser.<init> ()V
      // 07: astore 2
      // 08: aload 2
      // 09: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 0c: astore 9
      // 0e: aload 9
      // 10: bipush 33
      // 12: aaload
      // 13: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.d Ljava/lang/Short;
      // 16: invokevirtual org/cyberneko/html/parsers/DOMParser.setProperty (Ljava/lang/String;Ljava/lang/Object;)V
      // 19: aload 2
      // 1a: invokestatic com/l7tech/common/io/XmlUtil.getSafeEntityResolver ()Lorg/xml/sax/EntityResolver;
      // 1d: invokevirtual org/cyberneko/html/parsers/DOMParser.setEntityResolver (Lorg/xml/sax/EntityResolver;)V
      // 20: aload 2
      // 21: new org/xml/sax/InputSource
      // 24: dup
      // 25: new java/io/StringReader
      // 28: dup
      // 29: aload 0
      // 2a: invokespecial java/io/StringReader.<init> (Ljava/lang/String;)V
      // 2d: invokespecial org/xml/sax/InputSource.<init> (Ljava/io/Reader;)V
      // 30: invokevirtual org/cyberneko/html/parsers/DOMParser.parse (Lorg/xml/sax/InputSource;)V
      // 33: aload 2
      // 34: invokevirtual org/cyberneko/html/parsers/DOMParser.getDocument ()Lorg/w3c/dom/Document;
      // 37: invokeinterface org/w3c/dom/Document.getDocumentElement ()Lorg/w3c/dom/Element; 1
      // 3c: astore 3
      // 3d: aconst_null
      // 3e: astore 4
      // 40: aload 3
      // 41: getstatic com/l7tech/util/HtmlConstants.ELE_INPUT Ljava/lang/String;
      // 44: invokeinterface org/w3c/dom/Element.getElementsByTagName (Ljava/lang/String;)Lorg/w3c/dom/NodeList; 2
      // 49: astore 5
      // 4b: bipush 0
      // 4c: istore 6
      // 4e: iload 6
      // 50: aload 5
      // 52: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 57: if_icmpge bc
      // 5a: aload 5
      // 5c: iload 6
      // 5e: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 63: checkcast org/w3c/dom/Element
      // 66: getstatic com/l7tech/util/HtmlConstants.ATTR_NAME Ljava/lang/String;
      // 69: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 6e: astore 7
      // 70: aload 5
      // 72: iload 6
      // 74: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 79: checkcast org/w3c/dom/Element
      // 7c: getstatic com/l7tech/util/HtmlConstants.ATTR_VALUE Ljava/lang/String;
      // 7f: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 84: astore 8
      // 86: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 89: bipush 30
      // 8b: aaload
      // 8c: aload 7
      // 8e: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 91: ifeq b6
      // 94: aload 4
      // 96: ifnull b2
      // 99: goto a0
      // 9c: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 9f: athrow
      // a0: new com/l7tech/security/wsfederation/InvalidHtmlException
      // a3: dup
      // a4: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // a7: bipush 7
      // a9: aaload
      // aa: invokespecial com/l7tech/security/wsfederation/InvalidHtmlException.<init> (Ljava/lang/String;)V
      // ad: athrow
      // ae: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // b1: athrow
      // b2: aload 8
      // b4: astore 4
      // b6: iinc 6 1
      // b9: goto 4e
      // bc: aload 4
      // be: ifnull ca
      // c1: aload 4
      // c3: invokestatic com/l7tech/common/io/XmlUtil.stringToDocument (Ljava/lang/String;)Lorg/w3c/dom/Document;
      // c6: astore 1
      // c7: goto db
      // ca: new com/l7tech/security/wsfederation/InvalidHtmlException
      // cd: dup
      // ce: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // d1: astore 9
      // d3: aload 9
      // d5: bipush 4
      // d6: aaload
      // d7: invokespecial com/l7tech/security/wsfederation/InvalidHtmlException.<init> (Ljava/lang/String;)V
      // da: athrow
      // db: goto ee
      // de: astore 2
      // df: new com/l7tech/security/wsfederation/InvalidHtmlException
      // e2: dup
      // e3: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // e6: bipush 28
      // e8: aaload
      // e9: aload 2
      // ea: invokespecial com/l7tech/security/wsfederation/InvalidHtmlException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // ed: athrow
      // ee: aload 1
      // ef: areturn
      // try (60 -> 72): 72 org/xml/sax/SAXException
      // try (54 -> 62): 63 org/xml/sax/SAXException
      // try (0 -> 93): 94 org/xml/sax/SAXException
   }

   private static String a() {
      return ISO8601Date.format(new Date());
   }

   private static void a(StringBuffer var0, char var1, String var2, String var3) {
      try {
         if (var1 > 0) {
            var0.append(var1);
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }

      var0.append(var2);
      var0.append('=');
      var0.append(var3);
   }

   private static URL a(String param0, String param1, String param2, String param3, boolean param4) {
      // $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: sipush 512
      // 07: invokespecial java/lang/StringBuffer.<init> (I)V
      // 0a: astore 5
      // 0c: aload 5
      // 0e: bipush 63
      // 10: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 13: bipush 40
      // 15: aaload
      // 16: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 19: bipush 1
      // 1a: aaload
      // 1b: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // 1e: aload 1
      // 1f: ifnull 4e
      // 22: aload 1
      // 23: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 26: invokevirtual java/lang/String.length ()I
      // 29: ifle 4e
      // 2c: goto 33
      // 2f: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 32: athrow
      // 33: aload 5
      // 35: bipush 38
      // 37: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 3a: bipush 36
      // 3c: aaload
      // 3d: aload 1
      // 3e: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 41: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 44: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // 47: goto 4e
      // 4a: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4d: athrow
      // 4e: aload 2
      // 4f: ifnull 7e
      // 52: aload 2
      // 53: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 56: invokevirtual java/lang/String.length ()I
      // 59: ifle 7e
      // 5c: goto 63
      // 5f: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 62: athrow
      // 63: aload 5
      // 65: bipush 38
      // 67: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 6a: bipush 20
      // 6c: aaload
      // 6d: aload 2
      // 6e: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 71: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 74: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // 77: goto 7e
      // 7a: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7d: athrow
      // 7e: aload 3
      // 7f: ifnull ae
      // 82: aload 3
      // 83: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 86: invokevirtual java/lang/String.length ()I
      // 89: ifle ae
      // 8c: goto 93
      // 8f: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 92: athrow
      // 93: aload 5
      // 95: bipush 38
      // 97: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 9a: bipush 18
      // 9c: aaload
      // 9d: aload 3
      // 9e: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // a1: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // a4: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // a7: goto ae
      // aa: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // ad: athrow
      // ae: iload 4
      // b0: ifeq d0
      // b3: aload 5
      // b5: bipush 38
      // b7: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // ba: bipush 41
      // bc: aaload
      // bd: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a ()Ljava/lang/String;
      // c0: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // c3: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // c6: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // c9: goto d0
      // cc: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // cf: athrow
      // d0: new java/net/URL
      // d3: dup
      // d4: aload 0
      // d5: aload 5
      // d7: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // da: 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" ]
      // df: invokespecial java/net/URL.<init> (Ljava/lang/String;)V
      // e2: areturn
      // e3: astore 5
      // e5: new java/lang/IllegalStateException
      // e8: dup
      // e9: aload 5
      // eb: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/Throwable;)V
      // ee: athrow
      // ef: astore 5
      // f1: new java/lang/IllegalStateException
      // f4: dup
      // f5: aload 5
      // f7: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/Throwable;)V
      // fa: athrow
      // try (77 -> 88): 89 java/io/UnsupportedEncodingException
      // try (58 -> 74): 75 java/io/UnsupportedEncodingException
      // try (56 -> 62): 63 java/io/UnsupportedEncodingException
      // try (37 -> 53): 54 java/io/UnsupportedEncodingException
      // try (35 -> 41): 42 java/io/UnsupportedEncodingException
      // try (16 -> 32): 33 java/io/UnsupportedEncodingException
      // try (5 -> 20): 21 java/io/UnsupportedEncodingException
      // try (0 -> 98): 99 java/io/UnsupportedEncodingException
      // try (0 -> 98): 105 java/net/MalformedURLException
   }

   private static String a(XmlSecurityToken param0, String param1, boolean param2) throws IOException {
      // $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: new java/lang/StringBuffer
      // 003: dup
      // 004: sipush 512
      // 007: invokespecial java/lang/StringBuffer.<init> (I)V
      // 00a: astore 3
      // 00b: aload 3
      // 00c: bipush 0
      // 00d: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 010: bipush 40
      // 012: aaload
      // 013: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 016: bipush 1
      // 017: aaload
      // 018: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // 01b: iload 2
      // 01c: ifeq 03b
      // 01f: aload 3
      // 020: bipush 38
      // 022: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 025: bipush 21
      // 027: aaload
      // 028: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a ()Ljava/lang/String;
      // 02b: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 02e: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 031: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // 034: goto 03b
      // 037: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03a: athrow
      // 03b: aload 1
      // 03c: ifnull 06a
      // 03f: aload 1
      // 040: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 043: invokevirtual java/lang/String.length ()I
      // 046: ifle 06a
      // 049: goto 050
      // 04c: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04f: athrow
      // 050: aload 3
      // 051: bipush 38
      // 053: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 056: bipush 43
      // 058: aaload
      // 059: aload 1
      // 05a: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 05d: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 060: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // 063: goto 06a
      // 066: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 069: athrow
      // 06a: aload 0
      // 06b: invokeinterface com/l7tech/security/token/XmlSecurityToken.asElement ()Lorg/w3c/dom/Element; 1
      // 070: astore 4
      // 072: aload 4
      // 074: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 077: astore 11
      // 079: aload 11
      // 07b: bipush 26
      // 07d: aaload
      // 07e: aload 11
      // 080: bipush 24
      // 082: aaload
      // 083: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 086: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 089: astore 5
      // 08b: aload 11
      // 08d: bipush 29
      // 08f: aaload
      // 090: invokestatic com/l7tech/common/io/XmlUtil.stringToDocument (Ljava/lang/String;)Lorg/w3c/dom/Document;
      // 093: astore 6
      // 095: aload 6
      // 097: invokeinterface org/w3c/dom/Document.getDocumentElement ()Lorg/w3c/dom/Element; 1
      // 09c: astore 7
      // 09e: aload 7
      // 0a0: aload 11
      // 0a2: bipush 13
      // 0a4: aaload
      // 0a5: aload 11
      // 0a7: bipush 32
      // 0a9: aaload
      // 0aa: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 0ad: astore 8
      // 0af: aload 8
      // 0b1: aload 6
      // 0b3: aload 5
      // 0b5: invokestatic com/l7tech/util/DomUtils.createTextNode (Lorg/w3c/dom/Node;Ljava/lang/String;)Lorg/w3c/dom/Text;
      // 0b8: invokeinterface org/w3c/dom/Element.appendChild (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; 2
      // 0bd: pop
      // 0be: aload 7
      // 0c0: getstatic com/l7tech/util/SoapConstants.WST_NAMESPACE_ARRAY [Ljava/lang/String;
      // 0c3: aload 11
      // 0c5: bipush 14
      // 0c7: aaload
      // 0c8: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Lorg/w3c/dom/Element;[Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 0cb: astore 9
      // 0cd: aload 6
      // 0cf: aload 4
      // 0d1: bipush 1
      // 0d2: invokeinterface org/w3c/dom/Document.importNode (Lorg/w3c/dom/Node;Z)Lorg/w3c/dom/Node; 3
      // 0d7: checkcast org/w3c/dom/Element
      // 0da: astore 10
      // 0dc: aload 9
      // 0de: aload 10
      // 0e0: invokeinterface org/w3c/dom/Element.appendChild (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; 2
      // 0e5: pop
      // 0e6: aload 3
      // 0e7: bipush 38
      // 0e9: aload 11
      // 0eb: bipush 25
      // 0ed: aaload
      // 0ee: aload 6
      // 0f0: invokestatic com/l7tech/common/io/XmlUtil.nodeToString (Lorg/w3c/dom/Node;)Ljava/lang/String;
      // 0f3: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 0f6: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 0f9: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/StringBuffer;CLjava/lang/String;Ljava/lang/String;)V
      // 0fc: goto 111
      // 0ff: astore 5
      // 101: new com/l7tech/util/CausedIOException
      // 104: dup
      // 105: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 108: bipush 37
      // 10a: aaload
      // 10b: aload 5
      // 10d: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 110: athrow
      // 111: aload 3
      // 112: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // 115: areturn
      // try (30 -> 46): 47 org/xml/sax/SAXException
      // try (28 -> 34): 35 org/xml/sax/SAXException
      // try (5 -> 25): 26 org/xml/sax/SAXException
      // try (52 -> 114): 115 org/xml/sax/SAXException
   }

   private static Element a(Element var0, String var1, String var2) throws CausedIOException {
      return a(var0, new String[]{var1}, var2);
   }

   private static Element a(Element param0, String[] param1, String param2) throws CausedIOException {
      // $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: aconst_null
      // 01: astore 3
      // 02: aload 1
      // 03: astore 4
      // 05: aload 4
      // 07: arraylength
      // 08: istore 5
      // 0a: bipush 0
      // 0b: istore 6
      // 0d: iload 6
      // 0f: iload 5
      // 11: if_icmpge 96
      // 14: aload 4
      // 16: iload 6
      // 18: aaload
      // 19: astore 7
      // 1b: aload 0
      // 1c: aload 7
      // 1e: aload 2
      // 1f: invokeinterface org/w3c/dom/Element.getElementsByTagNameNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList; 3
      // 24: astore 8
      // 26: aload 8
      // 28: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 2d: bipush 1
      // 2e: if_icmple 4f
      // 31: new com/l7tech/util/CausedIOException
      // 34: dup
      // 35: aload 2
      // 36: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 39: bipush 2
      // 3a: aaload
      // 3b: swap
      // 3c: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 3f: bipush 50
      // 41: aaload
      // 42: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 47: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/String;)V
      // 4a: athrow
      // 4b: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4e: athrow
      // 4f: aload 8
      // 51: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 56: bipush 1
      // 57: if_icmpne 90
      // 5a: aload 3
      // 5b: ifnull 84
      // 5e: goto 65
      // 61: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 64: athrow
      // 65: new com/l7tech/util/CausedIOException
      // 68: dup
      // 69: aload 2
      // 6a: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 6d: bipush 8
      // 6f: aaload
      // 70: swap
      // 71: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // 74: bipush 12
      // 76: aaload
      // 77: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 7c: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/String;)V
      // 7f: athrow
      // 80: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 83: athrow
      // 84: aload 8
      // 86: bipush 0
      // 87: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 8c: checkcast org/w3c/dom/Element
      // 8f: astore 3
      // 90: iinc 6 1
      // 93: goto 0d
      // 96: aload 3
      // 97: ifnonnull b9
      // 9a: new com/l7tech/util/CausedIOException
      // 9d: dup
      // 9e: aload 2
      // 9f: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // a2: bipush 42
      // a4: aaload
      // a5: swap
      // a6: getstatic com/l7tech/security/wsfederation/FederationPassiveClient.e [Ljava/lang/String;
      // a9: bipush 49
      // ab: aaload
      // ac: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // b1: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/String;)V
      // b4: athrow
      // b5: invokestatic com/l7tech/security/wsfederation/FederationPassiveClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // b8: athrow
      // b9: aload 3
      // ba: areturn
      // try (21 -> 38): 38 com/l7tech/util/CausedIOException
      // try (40 -> 46): 47 com/l7tech/util/CausedIOException
      // try (44 -> 62): 62 com/l7tech/util/CausedIOException
      // try (71 -> 86): 86 com/l7tech/util/CausedIOException
   }

   static {
      String[] var5 = new String[53];
      int var3 = 0;
      String var2 = "+7\u0019\u0016 s5\u00071\u0003Y&<)\u000b+K\u001f=!/\u000f1\n\u00196\u0002\u001e<:,_k[\u0010+7\u0019\u0016 \u007fb\u00030\u0007\r;#.\u000be\u001d< \u0018\t==1\u000be\u0002\nr=-\u001ae\u0003\r??b\r*\u0005\r7=6N$#,\u0018\n;=%N2\u0019\u001c!&.\u001ae\u000e\u00157>'\u00001K\u0010<s\n:\b'V\u0014\u001c\u0010#\n\u00196\u0002\u001e<:,_k[\u0017+7\u0019\u0016 s5\u00071\u0003Y\u0001\u001c\u0003>e\u001c\u000b3#2\u000b7&#0\u0007\r;#.\u000be\u001c\u000b7 7\u00021K\u001c>6/\u000b+\u001f\nr:,N\r?4\u001e|\u0004!\u0017&\u0010+7\u0019\u0016 \u007fb\u00030\u0007\r;#.\u000be%\u00061\u001f\t\u000220\u000f(\u0018Y&20\t \u001f, ?b\u00030\u0018\rr=-\u001ae\t\u001cr=7\u0002)\u001e-*\u001e\u00156s,\u00011K\t3!1\u000be\u001a\f7!;N6\u001f\u000b;=%Te\" *K\u001a==6\u000b+\u001fY&*2\u000be\u0003\u001c37'\u001ce\u0002\u0017r!'\u001d5\u0004\u0017!6\nN \u0007\u001c?6,\u001a6E0\u00061\u001f\th|m\u001d&\u0003\u001c?21@=\u0006\u0015!<#\u001ek\u0004\u000b5|5\u001djYIbgm^}D\u0018670\u000b6\u0018\u0010<4\u0016< \u001a\f7 6\u000b!8\u001c1&0\u00071\u0012-=8'\u0000\u001d< \u0018\t==1\u000be\u0002\nr=-\u001ae\u0003\r??b\r*\u0005\r7=6N0\u00061\u001f\th|m\r<\t\u001c ='\u0005*E\u0016 4m\u00061\u0006\u0015}#0\u00015\u000e\u000b&:'\u001dj\u0005\u0018?61A \u0007\u001c? \u0002\u0019$\u0004\u0019&\u001f\u0001 < \u000f\u0010 6!\u001a \u000fY&<b\b \u000f\u001c 26\u0007*\u0005Y!60\u0018 \u0019W\u0006\u00197\u000e\t>*\u0003\u0019&\u001f\"9\u0016F?77'\u001c$\u001f\u0010==b\u001a*\u0000\u001c<s0\u000b4\u001e\u001c!'b;\u0017'Crt\u001b\u00061\u001f\t\u000220\u000f(\u0018Y?&1\u001ae\u0005\u0016&s \u000be\u0005\f>?\b/0\u000f\u00107=!\u000b\u0007\u00197\u000e\n'?6%\u001b7\u0005C=21\u00076Q\u00173>'\u001d\u007f\u001f\u001ah\u0000\u0003#\tQH|cx\u000f6\u0018\u001c '+\u0001+\" *K\u001a==6\u000b+\u001fY&*2\u000be\u0003\u001c37'\u001ce\u0002\u0017r!'\u001d5\u0004\u0017!6\u001d-$\u0005\u0017='b\u001e$\u0019\n7s\n:\b'Y4!-\u0003e\u0018\u001c %'\u001cƕR2\u0018\rh\u0001'\u001f0\u000e\n&\u0000'\r0\u0019\u0010&*\u0016\u0001.\u000e\u0017\u000061\u001e*\u0005\n7s:\u0003)\u0005\nh$1\u001axI\u0011&'2TjD\n1;'\u0003$\u0018W*>.\u001d*\n\t|<0\tj\u001c\n}ar^pDI`|6\u001c0\u0018\rpm~\u00196\u001fC\u000063\u001b \u0018\r77\u0011\u000b&\u001e\u000b;';:*\u0000\u001c<m~A2\u0018\rh\u0001'\u001f0\u000e\n&6&= \b\f :6\u0017\u0011\u0004\u00127=|R2\u0018\th\u00122\u001e)\u0002\u001c!\u0007-N=\u0006\u0015< x\u00196\u001bDp;6\u001a5QV} !\u0006 \u0006\u0018!}:\u0003)\u0018\u00163#l\u00017\fV% m\\u[M}c{A5\u0004\u0015;0;L{W\u000e!2x++\u000f\t=:,\u001a\u0017\u000e\u001f7!'\u0000&\u000eY*>.\u00006Q\u000e!2\u007fL-\u001f\r\"imA6\b\u00117>#\u001dk\u0013\u0014> -\u000f5E\u0016 4m\u00196DKbcvAuSV37&\u001c \u0018\n;=%L{W\u000e!2x/!\u000f\u000b7 1PyD\u000e!2x/!\u000f\u000b7 1PyD\u000e!2x++\u000f\t=:,\u001a\u0017\u000e\u001f7!'\u0000&\u000eGn|5\u001d5Q8\"#.\u0007 \u0018-=m~A2\u0018\rh\u0001'\u001f0\u000e\n&\u0000'\r0\u0019\u0010&*\u0016\u0001.\u000e\u0017\u000061\u001e*\u0005\n7m\u0007\u00197\u000e\n'?6\u0016;+\u0018\f\"#-\u001c1\u000e\u001dr'-\u0005 \u0005Y&*2\u000b\u0007/!\u000f\u000b7 10\u00061\u001f\th|m\r<\t\u001c ='\u0005*E\u0016 4m\u00061\u0006\u0015}#0\u00015\u000e\u000b&:'\u001dj\u0005\u0018?61A \u0007\u001c?  \u001b7\u0007Y?&1\u001ae\u0005\u0016&s*\u000f3\u000eY3s3\u001b \u0019\u0000r 6\u001c,\u0005\u001e\u0010 *K\n'0*N-\u000e\u0018660Te\u0007\u00191\u0019\u001c3?/\u0018+7\u0019\u0016 s5\u00071\u0003Y\u0000\u0000\u0016<e\u001f\u001c?#.\u000f1\u000e\u0015')\u0007\u001c52.N&\u0004\u00169:'N-\u000e\u0018660\u0002Ik\u0002\u0019$\u0003\u0019&\u001f\b#,\u0018\n;=%N\u0004\u0019&\u001f\u0001ƕR2\u0018\rh\u0001'\u001f0\u000e\n&\u0000'\r0\u0019\u0010&*\u0016\u0001.\u000e\u0017\u000061\u001e*\u0005\n7s:\u0003)\u0005\nh$1\u001axI\u0011&'2TjD\n1;'\u0003$\u0018W*>.\u001d*\n\t|<0\tj\u001c\n}ar^pDI`|6\u001c0\u0018\rpm~\u00196\u001fC\u000063\u001b \u0018\r77\u0011\u000b&\u001e\u000b;';:*\u0000\u001c<m~A2\u0018\rh\u0001'\u001f0\u000e\n&6&= \b\f :6\u0017\u0011\u0004\u00127=|R2\u0018\th\u00122\u001e)\u0002\u001c!\u0007-N=\u0006\u0015< x\u00196\u001bDp;6\u001a5QV} !\u0006 \u0006\u0018!}:\u0003)\u0018\u00163#l\u00017\fV% m\\u[M}c{A5\u0004\u0015;0;L{W\u000e!2x++\u000f\t=:,\u001a\u0017\u000e\u001f7!'\u0000&\u000eY*>.\u00006Q\u000e!2\u007fL-\u001f\r\"imA6\b\u00117>#\u001dk\u0013\u0014> -\u000f5E\u0016 4m\u00196DKbcvAuSV37&\u001c \u0018\n;=%L{W\u000e!2x/!\u000f\u000b7 1PyD\u000e!2x/!\u000f\u000b7 1PyD\u000e!2x++\u000f\t=:,\u001a\u0017\u000e\u001f7!'\u0000&\u000eGn|5\u001d5Q8\"#.\u0007 \u0018-=m~A2\u0018\rh\u0001'\u001f0\u000e\n&\u0000'\r0\u0019\u0010&*\u0016\u0001.\u000e\u0017\u000061\u001e*\u0005\n7m%\u00061\u001f\t\u000220\u000f(\u0018Y&20\t \u001f, ?b\u00030\u0018\rr=-\u001ae\t\u001cr=7\u0002)!($\u0002\u0015'!'N6\u001f\u0018&&1N&\u0004\u001d7s$\u001c*\u0006Y!60\u0018 \u0019Cr\u001b\u00061\u001f\t\u0011?+\u000b+\u001fY?&1\u001ae\u0005\u0016&s \u000be\u0005\f>?!($\u0002\u0015'!'N6\u001f\u0018&&1N&\u0004\u001d7s$\u001c*\u0006Y!60\u0018 \u0019Cr\tN \u0007\u001c?6,\u001ak\nN \u0007\u001c?6,\u001a6E";
      int var4 = "+7\u0019\u0016 s5\u00071\u0003Y&<)\u000b+K\u001f=!/\u000f1\n\u00196\u0002\u001e<:,_k[\u0010+7\u0019\u0016 \u007fb\u00030\u0007\r;#.\u000be\u001d< \u0018\t==1\u000be\u0002\nr=-\u001ae\u0003\r??b\r*\u0005\r7=6N$#,\u0018\n;=%N2\u0019\u001c!&.\u001ae\u000e\u00157>'\u00001K\u0010<s\n:\b'V\u0014\u001c\u0010#\n\u00196\u0002\u001e<:,_k[\u0017+7\u0019\u0016 s5\u00071\u0003Y\u0001\u001c\u0003>e\u001c\u000b3#2\u000b7&#0\u0007\r;#.\u000be\u001c\u000b7 7\u00021K\u001c>6/\u000b+\u001f\nr:,N\r?4\u001e|\u0004!\u0017&\u0010+7\u0019\u0016 \u007fb\u00030\u0007\r;#.\u000be%\u00061\u001f\t\u000220\u000f(\u0018Y&20\t \u001f, ?b\u00030\u0018\rr=-\u001ae\t\u001cr=7\u0002)\u001e-*\u001e\u00156s,\u00011K\t3!1\u000be\u001a\f7!;N6\u001f\u000b;=%Te\" *K\u001a==6\u000b+\u001fY&*2\u000be\u0003\u001c37'\u001ce\u0002\u0017r!'\u001d5\u0004\u0017!6\nN \u0007\u001c?6,\u001a6E0\u00061\u001f\th|m\u001d&\u0003\u001c?21@=\u0006\u0015!<#\u001ek\u0004\u000b5|5\u001djYIbgm^}D\u0018670\u000b6\u0018\u0010<4\u0016< \u001a\f7 6\u000b!8\u001c1&0\u00071\u0012-=8'\u0000\u001d< \u0018\t==1\u000be\u0002\nr=-\u001ae\u0003\r??b\r*\u0005\r7=6N0\u00061\u001f\th|m\r<\t\u001c ='\u0005*E\u0016 4m\u00061\u0006\u0015}#0\u00015\u000e\u000b&:'\u001dj\u0005\u0018?61A \u0007\u001c? \u0002\u0019$\u0004\u0019&\u001f\u0001 < \u000f\u0010 6!\u001a \u000fY&<b\b \u000f\u001c 26\u0007*\u0005Y!60\u0018 \u0019W\u0006\u00197\u000e\t>*\u0003\u0019&\u001f\"9\u0016F?77'\u001c$\u001f\u0010==b\u001a*\u0000\u001c<s0\u000b4\u001e\u001c!'b;\u0017'Crt\u001b\u00061\u001f\t\u000220\u000f(\u0018Y?&1\u001ae\u0005\u0016&s \u000be\u0005\f>?\b/0\u000f\u00107=!\u000b\u0007\u00197\u000e\n'?6%\u001b7\u0005C=21\u00076Q\u00173>'\u001d\u007f\u001f\u001ah\u0000\u0003#\tQH|cx\u000f6\u0018\u001c '+\u0001+\" *K\u001a==6\u000b+\u001fY&*2\u000be\u0003\u001c37'\u001ce\u0002\u0017r!'\u001d5\u0004\u0017!6\u001d-$\u0005\u0017='b\u001e$\u0019\n7s\n:\b'Y4!-\u0003e\u0018\u001c %'\u001cƕR2\u0018\rh\u0001'\u001f0\u000e\n&\u0000'\r0\u0019\u0010&*\u0016\u0001.\u000e\u0017\u000061\u001e*\u0005\n7s:\u0003)\u0005\nh$1\u001axI\u0011&'2TjD\n1;'\u0003$\u0018W*>.\u001d*\n\t|<0\tj\u001c\n}ar^pDI`|6\u001c0\u0018\rpm~\u00196\u001fC\u000063\u001b \u0018\r77\u0011\u000b&\u001e\u000b;';:*\u0000\u001c<m~A2\u0018\rh\u0001'\u001f0\u000e\n&6&= \b\f :6\u0017\u0011\u0004\u00127=|R2\u0018\th\u00122\u001e)\u0002\u001c!\u0007-N=\u0006\u0015< x\u00196\u001bDp;6\u001a5QV} !\u0006 \u0006\u0018!}:\u0003)\u0018\u00163#l\u00017\fV% m\\u[M}c{A5\u0004\u0015;0;L{W\u000e!2x++\u000f\t=:,\u001a\u0017\u000e\u001f7!'\u0000&\u000eY*>.\u00006Q\u000e!2\u007fL-\u001f\r\"imA6\b\u00117>#\u001dk\u0013\u0014> -\u000f5E\u0016 4m\u00196DKbcvAuSV37&\u001c \u0018\n;=%L{W\u000e!2x/!\u000f\u000b7 1PyD\u000e!2x/!\u000f\u000b7 1PyD\u000e!2x++\u000f\t=:,\u001a\u0017\u000e\u001f7!'\u0000&\u000eGn|5\u001d5Q8\"#.\u0007 \u0018-=m~A2\u0018\rh\u0001'\u001f0\u000e\n&\u0000'\r0\u0019\u0010&*\u0016\u0001.\u000e\u0017\u000061\u001e*\u0005\n7m\u0007\u00197\u000e\n'?6\u0016;+\u0018\f\"#-\u001c1\u000e\u001dr'-\u0005 \u0005Y&*2\u000b\u0007/!\u000f\u000b7 10\u00061\u001f\th|m\r<\t\u001c ='\u0005*E\u0016 4m\u00061\u0006\u0015}#0\u00015\u000e\u000b&:'\u001dj\u0005\u0018?61A \u0007\u001c?  \u001b7\u0007Y?&1\u001ae\u0005\u0016&s*\u000f3\u000eY3s3\u001b \u0019\u0000r 6\u001c,\u0005\u001e\u0010 *K\n'0*N-\u000e\u0018660Te\u0007\u00191\u0019\u001c3?/\u0018+7\u0019\u0016 s5\u00071\u0003Y\u0000\u0000\u0016<e\u001f\u001c?#.\u000f1\u000e\u0015')\u0007\u001c52.N&\u0004\u00169:'N-\u000e\u0018660\u0002Ik\u0002\u0019$\u0003\u0019&\u001f\b#,\u0018\n;=%N\u0004\u0019&\u001f\u0001ƕR2\u0018\rh\u0001'\u001f0\u000e\n&\u0000'\r0\u0019\u0010&*\u0016\u0001.\u000e\u0017\u000061\u001e*\u0005\n7s:\u0003)\u0005\nh$1\u001axI\u0011&'2TjD\n1;'\u0003$\u0018W*>.\u001d*\n\t|<0\tj\u001c\n}ar^pDI`|6\u001c0\u0018\rpm~\u00196\u001fC\u000063\u001b \u0018\r77\u0011\u000b&\u001e\u000b;';:*\u0000\u001c<m~A2\u0018\rh\u0001'\u001f0\u000e\n&6&= \b\f :6\u0017\u0011\u0004\u00127=|R2\u0018\th\u00122\u001e)\u0002\u001c!\u0007-N=\u0006\u0015< x\u00196\u001bDp;6\u001a5QV} !\u0006 \u0006\u0018!}:\u0003)\u0018\u00163#l\u00017\fV% m\\u[M}c{A5\u0004\u0015;0;L{W\u000e!2x++\u000f\t=:,\u001a\u0017\u000e\u001f7!'\u0000&\u000eY*>.\u00006Q\u000e!2\u007fL-\u001f\r\"imA6\b\u00117>#\u001dk\u0013\u0014> -\u000f5E\u0016 4m\u00196DKbcvAuSV37&\u001c \u0018\n;=%L{W\u000e!2x/!\u000f\u000b7 1PyD\u000e!2x/!\u000f\u000b7 1PyD\u000e!2x++\u000f\t=:,\u001a\u0017\u000e\u001f7!'\u0000&\u000eGn|5\u001d5Q8\"#.\u0007 \u0018-=m~A2\u0018\rh\u0001'\u001f0\u000e\n&\u0000'\r0\u0019\u0010&*\u0016\u0001.\u000e\u0017\u000061\u001e*\u0005\n7m%\u00061\u001f\t\u000220\u000f(\u0018Y&20\t \u001f, ?b\u00030\u0018\rr=-\u001ae\t\u001cr=7\u0002)!($\u0002\u0015'!'N6\u001f\u0018&&1N&\u0004\u001d7s$\u001c*\u0006Y!60\u0018 \u0019Cr\u001b\u00061\u001f\t\u0011?+\u000b+\u001fY?&1\u001ae\u0005\u0016&s \u000be\u0005\f>?!($\u0002\u0015'!'N6\u001f\u0018&&1N&\u0004\u001d7s$\u001c*\u0006Y!60\u0018 \u0019Cr\tN \u0007\u001c?6,\u001ak\nN \u0007\u001c?6,\u001a6E"
         .length();
      char var1 = 23;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 48;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     e = var5;
                     String[] var9 = e;
                     c = e[16];
                     b = var9[44];
                     a = Logger.getLogger(FederationPassiveClient.class.getName());
                     d = (short)2;
                     return;
                  }

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

                  var2 = "w@nxsCA~Yi(NW@k\u0014tgW\u0002Qz\u0014t}ON\u001bw@nx`NZzZn(NW@k\u0014tgW\u0002Qz\u0014t}ON";
                  var4 = "w@nxsCA~Yi(NW@k\u0014tgW\u0002Qz\u0014t}ON\u001bw@nx`NZzZn(NW@k\u0014tgW\u0002Qz\u0014t}ON".length();
                  var1 = 27;
                  var7 = -1;
            }

            var10000 = 65;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

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

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

      return var10000;
   }

   private static String a(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 -> 94;
            case 1 -> 117;
            case 2 -> 91;
            case 3 -> 73;
            case 4 -> 98;
            case 5 -> 99;
            default -> 114;
         });
      }

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