package com.l7tech.server;

import com.l7tech.common.io.XmlUtil;
import com.l7tech.common.protocol.SecureSpanConstants.HttpQueryParameters;
import com.l7tech.gateway.common.audit.AuditFactory;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.service.ServiceDocument;
import com.l7tech.gateway.common.transport.SsgConnector.Endpoint;
import com.l7tech.identity.User;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.policy.PolicyPathBuilder;
import com.l7tech.policy.PolicyPathBuilderFactory;
import com.l7tech.policy.assertion.Assertion;
import com.l7tech.policy.assertion.CustomAssertionHolder;
import com.l7tech.policy.assertion.composite.CompositeAssertion;
import com.l7tech.policy.assertion.identity.IdentityAssertion;
import com.l7tech.server.identity.AuthenticationResult;
import com.l7tech.server.policy.filter.FilterManager;
import com.l7tech.server.policy.filter.FilteringException;
import com.l7tech.server.policy.filter.IdentityRule;
import com.l7tech.server.service.ServiceDocumentManager;
import com.l7tech.server.service.resolution.ServiceResolutionException;
import com.l7tech.server.service.resolution.SoapActionResolver;
import com.l7tech.server.service.resolution.UrnResolver;
import com.l7tech.util.Functions;
import com.l7tech.util.InetAddressUtil;
import com.l7tech.util.Pair;
import com.l7tech.util.Functions.UnaryVoid;
import com.l7tech.wsdl.WsdlUtil;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

public class WsdlProxyServlet extends AuthenticatableHttpServlet {
   private static final String PARAM_ANONYMOUS;
   private static final String PROPERTY_WSSP_ATTACH;
   private static final String PROPERTY_CLEARTEXT;
   private static final String PROPERTY_WSDL_IMPORT_PROXY;
   private FilterManager wsspFilterManager;
   private FilterManager clientPolicyFilterManager;
   private SoapActionResolver sactionResolver;
   private UrnResolver nsResolver;
   private ServiceDocumentManager serviceDocumentManager;
   private PolicyPathBuilder policyPathBuilder;
   static final long serialVersionUID = -8663703807062391208L;
   private static final String[] b;

   @Override
   public void init(ServletConfig var1) throws ServletException {
      super.init(var1);
      WebApplicationContext var2 = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
      String[] var5 = b;
      this.clientPolicyFilterManager = (FilterManager)var2.getBean(var5[37], FilterManager.class);
      this.wsspFilterManager = (FilterManager)var2.getBean(var5[60], FilterManager.class);
      this.serviceDocumentManager = (ServiceDocumentManager)var2.getBean(var5[59], ServiceDocumentManager.class);
      AuditFactory var3 = (AuditFactory)var2.getBean(var5[31], AuditFactory.class);
      PolicyPathBuilderFactory var4 = (PolicyPathBuilderFactory)var2.getBean(var5[77], PolicyPathBuilderFactory.class);
      this.policyPathBuilder = var4.makePathBuilder();
      this.sactionResolver = new SoapActionResolver(var3);
      this.nsResolver = new UrnResolver(var3);
   }

   @Override
   protected String getFeature() {
      return b[50];
   }

   @Override
   protected Endpoint getRequiredEndpoint() {
      return Endpoint.WSDLPROXY;
   }

   @Override
   protected boolean isCleartextAllowed() {
      return this.config.getBooleanProperty(b[56], false);
   }

   protected void doGet(HttpServletRequest param1, HttpServletResponse param2) throws ServletException, 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 2
      // 001: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 004: astore 6
      // 006: aload 6
      // 008: bipush 48
      // 00a: aaload
      // 00b: invokeinterface jakarta/servlet/http/HttpServletResponse.setContentType (Ljava/lang/String;)V 2
      // 010: aload 0
      // 011: aload 1
      // 012: invokevirtual com/l7tech/server/WsdlProxyServlet.getRequestedService (Ljakarta/servlet/http/HttpServletRequest;)Lcom/l7tech/gateway/common/service/PublishedService;
      // 015: astore 3
      // 016: goto 07e
      // 019: astore 4
      // 01b: aload 0
      // 01c: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 01f: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 022: aload 4
      // 024: invokevirtual com/l7tech/objectmodel/FindException.getMessage ()Ljava/lang/String;
      // 027: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 02a: astore 6
      // 02c: aload 6
      // 02e: bipush 95
      // 030: aaload
      // 031: swap
      // 032: ldc ")"
      // 034: 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" ]
      // 039: aload 4
      // 03b: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 03e: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 041: aload 0
      // 042: aload 2
      // 043: sipush 404
      // 046: aload 6
      // 048: bipush 74
      // 04a: aaload
      // 04b: invokevirtual com/l7tech/server/WsdlProxyServlet.sendBackError (Ljakarta/servlet/http/HttpServletResponse;ILjava/lang/String;)V
      // 04e: return
      // 04f: astore 4
      // 051: aload 0
      // 052: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 055: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 058: aload 4
      // 05a: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 05d: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 060: astore 6
      // 062: aload 6
      // 064: bipush 23
      // 066: aaload
      // 067: swap
      // 068: 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" ]
      // 06d: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 070: aload 0
      // 071: aload 2
      // 072: sipush 300
      // 075: aload 6
      // 077: bipush 54
      // 079: aaload
      // 07a: invokevirtual com/l7tech/server/WsdlProxyServlet.sendBackError (Ljakarta/servlet/http/HttpServletResponse;ILjava/lang/String;)V
      // 07d: return
      // 07e: aconst_null
      // 07f: astore 4
      // 081: aload 0
      // 082: aload 1
      // 083: invokevirtual com/l7tech/server/WsdlProxyServlet.credentialsPermittedForTransport (Ljakarta/servlet/http/HttpServletRequest;)Z
      // 086: ifeq 16d
      // 089: aload 3
      // 08a: ifnull 098
      // 08d: aload 0
      // 08e: aload 1
      // 08f: aload 3
      // 090: invokevirtual com/l7tech/server/WsdlProxyServlet.authenticateRequestBasic (Ljakarta/servlet/http/HttpServletRequest;Lcom/l7tech/gateway/common/service/PublishedService;)[Lcom/l7tech/server/identity/AuthenticationResult;
      // 093: astore 4
      // 095: goto 09f
      // 098: aload 0
      // 099: aload 1
      // 09a: invokevirtual com/l7tech/server/WsdlProxyServlet.authenticateRequestBasic (Ljakarta/servlet/http/HttpServletRequest;)[Lcom/l7tech/server/identity/AuthenticationResult;
      // 09d: astore 4
      // 09f: goto 16d
      // 0a2: astore 5
      // 0a4: aload 0
      // 0a5: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 0a8: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 0ab: aload 5
      // 0ad: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0b0: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 0b3: astore 6
      // 0b5: aload 6
      // 0b7: bipush 5
      // 0b8: aaload
      // 0b9: swap
      // 0ba: 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" ]
      // 0bf: aload 5
      // 0c1: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0c4: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0c7: aload 2
      // 0c8: sipush 403
      // 0cb: invokeinterface jakarta/servlet/http/HttpServletResponse.setStatus (I)V 2
      // 0d0: aload 2
      // 0d1: invokeinterface jakarta/servlet/http/HttpServletResponse.getOutputStream ()Ljakarta/servlet/ServletOutputStream; 1
      // 0d6: aload 6
      // 0d8: bipush 6
      // 0da: aaload
      // 0db: invokevirtual jakarta/servlet/ServletOutputStream.print (Ljava/lang/String;)V
      // 0de: aload 2
      // 0df: invokeinterface jakarta/servlet/http/HttpServletResponse.flushBuffer ()V 1
      // 0e4: return
      // 0e5: astore 5
      // 0e7: aload 0
      // 0e8: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 0eb: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 0ee: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 0f1: astore 6
      // 0f3: aload 6
      // 0f5: bipush 78
      // 0f7: aaload
      // 0f8: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 0fb: aconst_null
      // 0fc: astore 4
      // 0fe: goto 16d
      // 101: astore 5
      // 103: aload 0
      // 104: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 107: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 10a: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 10d: astore 6
      // 10f: aload 6
      // 111: bipush 63
      // 113: aaload
      // 114: aload 5
      // 116: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 119: aload 2
      // 11a: sipush 503
      // 11d: invokeinterface jakarta/servlet/http/HttpServletResponse.setStatus (I)V 2
      // 122: aload 2
      // 123: invokeinterface jakarta/servlet/http/HttpServletResponse.getOutputStream ()Ljakarta/servlet/ServletOutputStream; 1
      // 128: aload 6
      // 12a: bipush 16
      // 12c: aaload
      // 12d: invokevirtual jakarta/servlet/ServletOutputStream.print (Ljava/lang/String;)V
      // 130: aload 2
      // 131: invokeinterface jakarta/servlet/http/HttpServletResponse.flushBuffer ()V 1
      // 136: return
      // 137: astore 5
      // 139: aload 0
      // 13a: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 13d: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 140: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 143: astore 6
      // 145: aload 6
      // 147: bipush 29
      // 149: aaload
      // 14a: aload 5
      // 14c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 14f: aload 2
      // 150: sipush 503
      // 153: invokeinterface jakarta/servlet/http/HttpServletResponse.setStatus (I)V 2
      // 158: aload 2
      // 159: invokeinterface jakarta/servlet/http/HttpServletResponse.getOutputStream ()Ljakarta/servlet/ServletOutputStream; 1
      // 15e: aload 6
      // 160: bipush 93
      // 162: aaload
      // 163: invokevirtual jakarta/servlet/ServletOutputStream.print (Ljava/lang/String;)V
      // 166: aload 2
      // 167: invokeinterface jakarta/servlet/http/HttpServletResponse.flushBuffer ()V 1
      // 16c: return
      // 16d: aload 4
      // 16f: ifnull 19e
      // 172: aload 4
      // 174: arraylength
      // 175: ifle 19e
      // 178: goto 17f
      // 17b: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 17e: athrow
      // 17f: aload 0
      // 180: aload 1
      // 181: invokevirtual com/l7tech/server/WsdlProxyServlet.credentialsPermittedForTransport (Ljakarta/servlet/http/HttpServletRequest;)Z
      // 184: ifeq 19e
      // 187: goto 18e
      // 18a: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 18d: athrow
      // 18e: aload 0
      // 18f: aload 1
      // 190: aload 2
      // 191: aload 3
      // 192: aload 4
      // 194: invokevirtual com/l7tech/server/WsdlProxyServlet.doAuthenticated (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lcom/l7tech/gateway/common/service/PublishedService;[Lcom/l7tech/server/identity/AuthenticationResult;)V
      // 197: goto 1eb
      // 19a: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 19d: athrow
      // 19e: aload 0
      // 19f: aload 1
      // 1a0: invokevirtual com/l7tech/server/WsdlProxyServlet.credentialsPermittedForTransport (Ljakarta/servlet/http/HttpServletRequest;)Z
      // 1a3: ifeq 1e4
      // 1a6: aload 1
      // 1a7: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 1aa: bipush 7
      // 1ac: aaload
      // 1ad: invokeinterface jakarta/servlet/http/HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String; 2
      // 1b2: ifnull 1e4
      // 1b5: goto 1bc
      // 1b8: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1bb: athrow
      // 1bc: aload 1
      // 1bd: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 1c0: bipush 89
      // 1c2: aaload
      // 1c3: invokeinterface jakarta/servlet/http/HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String; 2
      // 1c8: invokestatic java/lang/Boolean.valueOf (Ljava/lang/String;)Ljava/lang/Boolean;
      // 1cb: invokevirtual java/lang/Boolean.booleanValue ()Z
      // 1ce: ifne 1e4
      // 1d1: goto 1d8
      // 1d4: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d7: athrow
      // 1d8: aload 0
      // 1d9: aload 2
      // 1da: invokevirtual com/l7tech/server/WsdlProxyServlet.doHttpBasicChallenge (Ljakarta/servlet/http/HttpServletResponse;)V
      // 1dd: goto 1eb
      // 1e0: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e3: athrow
      // 1e4: aload 0
      // 1e5: aload 1
      // 1e6: aload 2
      // 1e7: aload 3
      // 1e8: invokevirtual com/l7tech/server/WsdlProxyServlet.doAnonymous (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lcom/l7tech/gateway/common/service/PublishedService;)V
      // 1eb: return
      // try (7 -> 11): 12 com/l7tech/objectmodel/FindException
      // try (7 -> 11): 37 com/l7tech/server/WsdlProxyServlet$AmbiguousServiceException
      // try (65 -> 77): 78 com/l7tech/identity/BadCredentialsException
      // try (65 -> 77): 78 com/l7tech/identity/IssuedCertNotPresentedException
      // try (65 -> 77): 106 com/l7tech/identity/MissingCredentialsException
      // try (65 -> 77): 119 com/l7tech/gateway/common/LicenseException
      // try (65 -> 77): 142 com/l7tech/server/transport/ListenerException
      // try (165 -> 170): 171 com/l7tech/objectmodel/FindException
      // try (167 -> 177): 178 com/l7tech/objectmodel/FindException
      // try (173 -> 187): 187 com/l7tech/objectmodel/FindException
      // try (189 -> 199): 200 com/l7tech/objectmodel/FindException
      // try (193 -> 210): 211 com/l7tech/objectmodel/FindException
      // try (202 -> 217): 217 com/l7tech/objectmodel/FindException
   }

   private boolean credentialsPermittedForTransport(HttpServletRequest 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 1
      // 01: invokeinterface jakarta/servlet/http/HttpServletRequest.isSecure ()Z 1
      // 06: ifne 17
      // 09: aload 0
      // 0a: invokevirtual com/l7tech/server/WsdlProxyServlet.isCleartextAllowed ()Z
      // 0d: ifeq 1f
      // 10: goto 17
      // 13: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16: athrow
      // 17: bipush 1
      // 18: goto 20
      // 1b: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e: athrow
      // 1f: bipush 0
      // 20: ireturn
      // try (0 -> 6): 7 java/lang/IllegalArgumentException
      // try (3 -> 11): 11 java/lang/IllegalArgumentException
   }

   private PublishedService getRequestedService(HttpServletRequest param1) throws WsdlProxyServlet.AmbiguousServiceException, FindException {
      // $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: invokevirtual com/l7tech/server/WsdlProxyServlet.systemAllowsDisabledServiceDownloads (Ljakarta/servlet/http/HttpServletRequest;)Z
      // 005: istore 2
      // 006: aload 1
      // 007: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_SERVICEOID Ljava/lang/String;
      // 00a: invokeinterface jakarta/servlet/http/HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String; 2
      // 00f: astore 3
      // 010: aload 3
      // 011: ifnull 0a9
      // 014: aconst_null
      // 015: astore 5
      // 017: aconst_null
      // 018: astore 6
      // 01a: aload 3
      // 01b: invokestatic com/l7tech/objectmodel/Goid.parseGoid (Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 01e: astore 5
      // 020: goto 04e
      // 023: astore 7
      // 025: aload 3
      // 026: invokestatic java/lang/Long.parseLong (Ljava/lang/String;)J
      // 029: invokestatic java/lang/Long.valueOf (J)Ljava/lang/Long;
      // 02c: astore 6
      // 02e: goto 04e
      // 031: astore 8
      // 033: new com/l7tech/objectmodel/FindException
      // 036: dup
      // 037: aload 3
      // 038: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 03b: astore 11
      // 03d: aload 11
      // 03f: bipush 65
      // 041: aaload
      // 042: swap
      // 043: 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" ]
      // 048: aload 7
      // 04a: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 04d: athrow
      // 04e: aload 5
      // 050: ifnull 060
      // 053: aload 0
      // 054: aload 5
      // 056: invokevirtual com/l7tech/server/WsdlProxyServlet.resolveService (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/gateway/common/service/PublishedService;
      // 059: goto 066
      // 05c: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 05f: athrow
      // 060: aload 0
      // 061: aload 6
      // 063: invokevirtual com/l7tech/server/WsdlProxyServlet.resolveService (Ljava/lang/Long;)Lcom/l7tech/gateway/common/service/PublishedService;
      // 066: astore 4
      // 068: aload 4
      // 06a: ifnull 087
      // 06d: aload 4
      // 06f: invokevirtual com/l7tech/gateway/common/service/PublishedService.isDisabled ()Z
      // 072: ifeq 0a6
      // 075: goto 07c
      // 078: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07b: athrow
      // 07c: iload 2
      // 07d: ifne 0a6
      // 080: goto 087
      // 083: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 086: athrow
      // 087: new com/l7tech/objectmodel/FindException
      // 08a: dup
      // 08b: aload 3
      // 08c: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 08f: bipush 75
      // 091: aaload
      // 092: swap
      // 093: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 096: bipush 9
      // 098: aaload
      // 099: 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" ]
      // 09e: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;)V
      // 0a1: athrow
      // 0a2: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a5: athrow
      // 0a6: aload 4
      // 0a8: areturn
      // 0a9: aload 1
      // 0aa: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_URI Ljava/lang/String;
      // 0ad: invokeinterface jakarta/servlet/http/HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String; 2
      // 0b2: astore 4
      // 0b4: aload 1
      // 0b5: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_NS Ljava/lang/String;
      // 0b8: invokeinterface jakarta/servlet/http/HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String; 2
      // 0bd: astore 5
      // 0bf: aload 1
      // 0c0: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_SACTION Ljava/lang/String;
      // 0c3: invokeinterface jakarta/servlet/http/HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String; 2
      // 0c8: astore 6
      // 0ca: aload 4
      // 0cc: ifnonnull 0ed
      // 0cf: aload 5
      // 0d1: ifnonnull 0ed
      // 0d4: goto 0db
      // 0d7: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0da: athrow
      // 0db: aload 6
      // 0dd: ifnonnull 0ed
      // 0e0: goto 0e7
      // 0e3: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e6: athrow
      // 0e7: aconst_null
      // 0e8: areturn
      // 0e9: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ec: athrow
      // 0ed: aload 0
      // 0ee: getfield com/l7tech/server/WsdlProxyServlet.serviceCache Lcom/l7tech/server/service/ServiceCache;
      // 0f1: aload 4
      // 0f3: aload 6
      // 0f5: aload 5
      // 0f7: invokevirtual com/l7tech/server/service/ServiceCache.resolve (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Collection;
      // 0fa: astore 7
      // 0fc: goto 115
      // 0ff: astore 8
      // 101: new com/l7tech/objectmodel/FindException
      // 104: dup
      // 105: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 108: astore 11
      // 10a: aload 11
      // 10c: bipush 67
      // 10e: aaload
      // 10f: aload 8
      // 111: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 114: athrow
      // 115: aload 0
      // 116: aload 7
      // 118: invokevirtual com/l7tech/server/WsdlProxyServlet.removeDisabledServices (Ljava/util/Collection;)Ljava/util/Collection;
      // 11b: astore 7
      // 11d: aload 7
      // 11f: invokeinterface java/util/Collection.size ()I 1
      // 124: bipush 1
      // 125: if_icmpne 13c
      // 128: aload 7
      // 12a: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 12f: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 134: checkcast com/l7tech/gateway/common/service/PublishedService
      // 137: areturn
      // 138: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 13b: athrow
      // 13c: aload 7
      // 13e: invokeinterface java/util/Collection.isEmpty ()Z 1
      // 143: ifeq 157
      // 146: new com/l7tech/objectmodel/FindException
      // 149: dup
      // 14a: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 14d: bipush 2
      // 14e: aaload
      // 14f: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;)V
      // 152: athrow
      // 153: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 156: athrow
      // 157: new java/lang/StringBuilder
      // 15a: dup
      // 15b: invokespecial java/lang/StringBuilder.<init> ()V
      // 15e: astore 8
      // 160: aload 7
      // 162: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 167: astore 9
      // 169: aload 9
      // 16b: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 170: ifeq 192
      // 173: aload 9
      // 175: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 17a: checkcast com/l7tech/gateway/common/service/PublishedService
      // 17d: astore 10
      // 17f: aload 8
      // 181: aload 10
      // 183: invokevirtual com/l7tech/gateway/common/service/PublishedService.getName ()Ljava/lang/String;
      // 186: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 189: ldc " "
      // 18b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 18e: pop
      // 18f: goto 169
      // 192: aload 0
      // 193: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 196: aload 8
      // 198: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 19b: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 19e: astore 11
      // 1a0: aload 11
      // 1a2: bipush 52
      // 1a4: aaload
      // 1a5: swap
      // 1a6: 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" ]
      // 1ab: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 1ae: new com/l7tech/server/WsdlProxyServlet$AmbiguousServiceException
      // 1b1: dup
      // 1b2: aload 0
      // 1b3: aload 8
      // 1b5: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 1b8: aload 11
      // 1ba: bipush 27
      // 1bc: aaload
      // 1bd: swap
      // 1be: 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" ]
      // 1c3: invokespecial com/l7tech/server/WsdlProxyServlet$AmbiguousServiceException.<init> (Lcom/l7tech/server/WsdlProxyServlet;Ljava/lang/String;)V
      // 1c6: athrow
      // try (14 -> 17): 18 java/lang/IllegalArgumentException
      // try (19 -> 23): 24 java/lang/NumberFormatException
      // try (99 -> 106): 106 java/lang/IllegalArgumentException
      // try (94 -> 101): 102 java/lang/IllegalArgumentException
      // try (92 -> 96): 97 java/lang/IllegalArgumentException
      // try (58 -> 76): 76 java/lang/IllegalArgumentException
      // try (52 -> 60): 61 java/lang/IllegalArgumentException
      // try (50 -> 55): 56 java/lang/IllegalArgumentException
      // try (38 -> 44): 44 java/lang/IllegalArgumentException
      // try (108 -> 115): 116 com/l7tech/server/service/resolution/ServiceResolutionException
      // try (131 -> 140): 140 java/lang/IllegalArgumentException
      // try (142 -> 152): 152 java/lang/IllegalArgumentException
   }

   private Collection<PublishedService> removeDisabledServices(Collection<PublishedService> var1) {
      ArrayList var2 = new ArrayList();

      for (PublishedService var4 : var1) {
         try {
            if (!var4.isDisabled()) {
               var2.add(var4);
            }
         } catch (IllegalArgumentException var5) {
            throw a(var5);
         }
      }

      return var2;
   }

   private void doAnonymous(HttpServletRequest var1, HttpServletResponse var2, PublishedService var3) throws IOException {
      this.doAuthenticated(var1, var2, var3, null);
   }

   private void doAuthenticated(HttpServletRequest param1, HttpServletResponse param2, PublishedService param3, AuthenticationResult[] 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 3
      // 001: ifnull 124
      // 004: aload 3
      // 005: invokevirtual com/l7tech/gateway/common/service/PublishedService.isSoap ()Z
      // 008: ifne 026
      // 00b: goto 012
      // 00e: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 011: athrow
      // 012: aload 2
      // 013: sipush 404
      // 016: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 019: bipush 70
      // 01b: aaload
      // 01c: invokeinterface jakarta/servlet/http/HttpServletResponse.sendError (ILjava/lang/String;)V 3
      // 021: return
      // 022: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 025: athrow
      // 026: aload 0
      // 027: aload 1
      // 028: invokevirtual com/l7tech/server/WsdlProxyServlet.systemAllowsAnonymousDownloads (Ljakarta/servlet/http/HttpServletRequest;)Z
      // 02b: ifeq 035
      // 02e: goto 0fb
      // 031: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 034: athrow
      // 035: aload 4
      // 037: ifnull 048
      // 03a: aload 4
      // 03c: arraylength
      // 03d: bipush 1
      // 03e: if_icmpge 07b
      // 041: goto 048
      // 044: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 047: athrow
      // 048: aload 0
      // 049: aload 3
      // 04a: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 04d: invokevirtual com/l7tech/server/WsdlProxyServlet.policyAllowAnonymous (Lcom/l7tech/policy/Policy;)Z
      // 050: ifne 0fb
      // 053: goto 05a
      // 056: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 059: athrow
      // 05a: aload 0
      // 05b: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 05e: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 061: bipush 81
      // 063: aaload
      // 064: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 067: aload 2
      // 068: sipush 401
      // 06b: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 06e: bipush 94
      // 070: aaload
      // 071: invokeinterface jakarta/servlet/http/HttpServletResponse.sendError (ILjava/lang/String;)V 3
      // 076: return
      // 077: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07a: athrow
      // 07b: bipush 0
      // 07c: istore 5
      // 07e: aload 0
      // 07f: aload 3
      // 080: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 083: invokevirtual com/l7tech/server/WsdlProxyServlet.policyAllowAnonymous (Lcom/l7tech/policy/Policy;)Z
      // 086: ifne 0fb
      // 089: aconst_null
      // 08a: astore 6
      // 08c: aload 4
      // 08e: astore 7
      // 090: aload 7
      // 092: arraylength
      // 093: istore 8
      // 095: bipush 0
      // 096: istore 9
      // 098: iload 9
      // 09a: iload 8
      // 09c: if_icmpge 0c0
      // 09f: aload 7
      // 0a1: iload 9
      // 0a3: aaload
      // 0a4: astore 10
      // 0a6: aload 10
      // 0a8: invokevirtual com/l7tech/server/identity/AuthenticationResult.getUser ()Lcom/l7tech/identity/User;
      // 0ab: astore 6
      // 0ad: aload 0
      // 0ae: aload 6
      // 0b0: aload 3
      // 0b1: invokevirtual com/l7tech/server/WsdlProxyServlet.userCanSeeThisService (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/service/PublishedService;)Z
      // 0b4: ifeq 0ba
      // 0b7: bipush 1
      // 0b8: istore 5
      // 0ba: iinc 9 1
      // 0bd: goto 098
      // 0c0: iload 5
      // 0c2: ifne 0fb
      // 0c5: aload 0
      // 0c6: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 0c9: aload 6
      // 0cb: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0ce: aload 3
      // 0cf: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 0d2: invokevirtual com/l7tech/policy/Policy.getXml ()Ljava/lang/String;
      // 0d5: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 0d8: bipush 13
      // 0da: aaload
      // 0db: dup_x2
      // 0dc: pop
      // 0dd: ldc " "
      // 0df: swap
      // 0e0: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 0e5: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 0e8: aload 2
      // 0e9: sipush 401
      // 0ec: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 0ef: bipush 0
      // 0f0: aaload
      // 0f1: invokeinterface jakarta/servlet/http/HttpServletResponse.sendError (ILjava/lang/String;)V 3
      // 0f6: return
      // 0f7: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fa: athrow
      // 0fb: aload 0
      // 0fc: aload 1
      // 0fd: aload 2
      // 0fe: aload 3
      // 0ff: aload 4
      // 101: invokevirtual com/l7tech/server/WsdlProxyServlet.outputServiceDescription (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lcom/l7tech/gateway/common/service/PublishedService;[Lcom/l7tech/server/identity/AuthenticationResult;)V
      // 104: aload 0
      // 105: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 108: aload 3
      // 109: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 10c: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 10f: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 112: astore 11
      // 114: aload 11
      // 116: bipush 3
      // 117: aaload
      // 118: swap
      // 119: 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" ]
      // 11e: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 121: goto 22c
      // 124: aload 0
      // 125: aload 1
      // 126: invokevirtual com/l7tech/server/WsdlProxyServlet.systemAllowsAnonymousDownloads (Ljakarta/servlet/http/HttpServletRequest;)Z
      // 129: ifeq 135
      // 12c: aload 0
      // 12d: invokevirtual com/l7tech/server/WsdlProxyServlet.listAllServices ()Lcom/l7tech/server/bf;
      // 130: astore 5
      // 132: goto 159
      // 135: aload 4
      // 137: ifnull 148
      // 13a: aload 4
      // 13c: arraylength
      // 13d: bipush 1
      // 13e: if_icmpge 151
      // 141: goto 148
      // 144: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 147: athrow
      // 148: aload 0
      // 149: invokevirtual com/l7tech/server/WsdlProxyServlet.listAnonymouslyViewableServices ()Lcom/l7tech/server/bf;
      // 14c: astore 5
      // 14e: goto 159
      // 151: aload 0
      // 152: aload 4
      // 154: invokevirtual com/l7tech/server/WsdlProxyServlet.listAnonymouslyViewableAndProtectedServices ([Lcom/l7tech/server/identity/AuthenticationResult;)Lcom/l7tech/server/bf;
      // 157: astore 5
      // 159: goto 183
      // 15c: astore 6
      // 15e: aload 0
      // 15f: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 162: getstatic java/util/logging/Level.SEVERE Ljava/util/logging/Level;
      // 165: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 168: astore 11
      // 16a: aload 11
      // 16c: bipush 18
      // 16e: aaload
      // 16f: aload 6
      // 171: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 174: aload 2
      // 175: sipush 500
      // 178: aload 6
      // 17a: invokevirtual com/l7tech/objectmodel/FindException.getMessage ()Ljava/lang/String;
      // 17d: invokeinterface jakarta/servlet/http/HttpServletResponse.sendError (ILjava/lang/String;)V 3
      // 182: return
      // 183: aload 5
      // 185: invokeinterface com/l7tech/server/bf.allowed ()Ljava/util/Collection; 1
      // 18a: astore 6
      // 18c: aload 6
      // 18e: invokeinterface java/util/Collection.size ()I 1
      // 193: bipush 1
      // 194: if_icmpge 217
      // 197: aload 4
      // 199: ifnull 1b1
      // 19c: goto 1a3
      // 19f: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a2: athrow
      // 1a3: aload 4
      // 1a5: arraylength
      // 1a6: bipush 1
      // 1a7: if_icmpge 1dd
      // 1aa: goto 1b1
      // 1ad: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b0: athrow
      // 1b1: aload 5
      // 1b3: invokeinterface com/l7tech/server/bf.anyServices ()Z 1
      // 1b8: ifeq 1dd
      // 1bb: goto 1c2
      // 1be: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c1: athrow
      // 1c2: aload 0
      // 1c3: aload 1
      // 1c4: invokevirtual com/l7tech/server/WsdlProxyServlet.credentialsPermittedForTransport (Ljakarta/servlet/http/HttpServletRequest;)Z
      // 1c7: ifeq 1dd
      // 1ca: goto 1d1
      // 1cd: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d0: athrow
      // 1d1: aload 0
      // 1d2: aload 2
      // 1d3: invokevirtual com/l7tech/server/WsdlProxyServlet.sendAuthChallenge (Ljakarta/servlet/http/HttpServletResponse;)V
      // 1d6: goto 216
      // 1d9: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1dc: athrow
      // 1dd: aload 0
      // 1de: invokevirtual com/l7tech/server/WsdlProxyServlet.styleURL ()Ljava/lang/String;
      // 1e1: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 1e4: astore 11
      // 1e6: aload 11
      // 1e8: bipush 96
      // 1ea: aaload
      // 1eb: swap
      // 1ec: aload 11
      // 1ee: bipush 10
      // 1f0: aaload
      // 1f1: 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" ]
      // 1f6: astore 7
      // 1f8: aload 2
      // 1f9: getstatic com/l7tech/common/io/XmlUtil.TEXT_XML Ljava/lang/String;
      // 1fc: aload 11
      // 1fe: bipush 90
      // 200: aaload
      // 201: 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" ]
      // 206: invokeinterface jakarta/servlet/http/HttpServletResponse.setContentType (Ljava/lang/String;)V 2
      // 20b: aload 2
      // 20c: invokeinterface jakarta/servlet/http/HttpServletResponse.getOutputStream ()Ljakarta/servlet/ServletOutputStream; 1
      // 211: aload 7
      // 213: invokevirtual jakarta/servlet/ServletOutputStream.println (Ljava/lang/String;)V
      // 216: return
      // 217: aload 0
      // 218: aload 1
      // 219: aload 2
      // 21a: aload 6
      // 21c: invokevirtual com/l7tech/server/WsdlProxyServlet.outputServiceDescriptions (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/util/Collection;)V
      // 21f: aload 0
      // 220: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 223: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 226: bipush 73
      // 228: aaload
      // 229: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 22c: return
      // try (146 -> 152): 153 com/l7tech/objectmodel/FindException
      // try (91 -> 116): 116 com/l7tech/objectmodel/FindException
      // try (33 -> 54): 54 com/l7tech/objectmodel/FindException
      // try (26 -> 38): 39 com/l7tech/objectmodel/FindException
      // try (24 -> 30): 31 com/l7tech/objectmodel/FindException
      // try (17 -> 22): 22 com/l7tech/objectmodel/FindException
      // try (2 -> 15): 15 com/l7tech/objectmodel/FindException
      // try (0 -> 5): 6 com/l7tech/objectmodel/FindException
      // try (138 -> 163): 164 com/l7tech/objectmodel/FindException
      // try (184 -> 190): 191 com/l7tech/objectmodel/FindException
      // try (188 -> 197): 198 com/l7tech/objectmodel/FindException
      // try (193 -> 203): 204 com/l7tech/objectmodel/FindException
      // try (200 -> 210): 211 com/l7tech/objectmodel/FindException
      // try (206 -> 217): 217 com/l7tech/objectmodel/FindException
   }

   private boolean systemAllowsAnonymousDownloads(HttpServletRequest var1) {
      String[] var6 = b;
      String var2 = this.config.getProperty(var6[46]);
      StringTokenizer var3 = new StringTokenizer(var2);
      String var4 = var1.getRemoteAddr();

      while (var3.hasMoreTokens()) {
         String var5 = var3.nextToken();

         try {
            if (InetAddressUtil.patternMatchesAddress(var5, InetAddressUtil.getAddress(var4))) {
               this.logger.fine(b[12] + var4 + b[32] + var5);
               return true;
            }
         } catch (IllegalArgumentException var7) {
            throw a(var7);
         }
      }

      var6 = b;
      this.logger.finest(var6[92] + var4 + var6[20] + var2);
      return false;
   }

   private boolean systemAllowsDisabledServiceDownloads(HttpServletRequest var1) {
      boolean var2 = false;
      String[] var4 = b;
      String var3 = this.config.getProperty(var4[72]);
      if (var4[45].equalsIgnoreCase(var3)) {
         var2 = true;
      } else if (b[87].equalsIgnoreCase(var3)) {
         var2 = this.systemAllowsAnonymousDownloads(var1);
      }

      return var2;
   }

   private void sendAuthChallenge(HttpServletResponse var1) throws IOException {
      var1.setStatus(401);
      String[] var2 = b;
      this.logger.fine(var2[64]);
      var1.setHeader(var2[35], var2[36]);
      var1.getOutputStream().close();
   }

   private String styleURL() {
      return b[28];
   }

   private void rewriteReferences(PublishedService var1, Document var2, Collection<ServiceDocument> var3, String var4, UnaryVoid<Exception> var5) {
      HashMap var6 = new HashMap();

      for (ServiceDocument var8 : var3) {
         var6.put(var8.getUri(), new Pair(var8.getId(), var8.getContents()));
      }

      WsdlUtil.rewriteReferences(var1.getId(), var1.getWsdlUrl(), var2, var6, var4, var5, true);
   }

   private void addSecurityPolicy(Document param1, PublishedService param2) {
      // $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: getfield com/l7tech/server/WsdlProxyServlet.config Lcom/l7tech/util/Config;
      // 004: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 007: bipush 44
      // 009: aaload
      // 00a: bipush 1
      // 00b: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 010: ifne 024
      // 013: aload 0
      // 014: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 017: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 01a: bipush 4
      // 01b: aaload
      // 01c: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 01f: return
      // 020: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 023: athrow
      // 024: aload 0
      // 025: getfield com/l7tech/server/WsdlProxyServlet.policyPathBuilder Lcom/l7tech/policy/PolicyPathBuilder;
      // 028: aload 0
      // 029: getfield com/l7tech/server/WsdlProxyServlet.wspReader Lcom/l7tech/policy/wsp/WspReader;
      // 02c: aload 2
      // 02d: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 030: invokevirtual com/l7tech/policy/Policy.getXml ()Ljava/lang/String;
      // 033: getstatic com/l7tech/policy/wsp/WspReader.OMIT_DISABLED Lcom/l7tech/policy/wsp/WspReader$Visibility;
      // 036: invokevirtual com/l7tech/policy/wsp/WspReader.parsePermissively (Ljava/lang/String;Lcom/l7tech/policy/wsp/WspReader$Visibility;)Lcom/l7tech/policy/assertion/Assertion;
      // 039: aconst_null
      // 03a: bipush 0
      // 03b: invokevirtual com/l7tech/policy/PolicyPathBuilder.inlineIncludes (Lcom/l7tech/policy/assertion/Assertion;Ljava/util/Set;Z)Lcom/l7tech/policy/assertion/Assertion;
      // 03e: astore 3
      // 03f: aload 3
      // 040: ifnonnull 044
      // 043: return
      // 044: aload 3
      // 045: bipush 0
      // 046: invokestatic com/l7tech/policy/Policy.simplify (Lcom/l7tech/policy/assertion/Assertion;Z)Lcom/l7tech/policy/assertion/Assertion;
      // 049: astore 4
      // 04b: aload 4
      // 04d: ldc com/l7tech/policy/assertion/WsspAssertion
      // 04f: bipush 1
      // 050: invokestatic com/l7tech/policy/assertion/Assertion.find (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/Class;Z)Lcom/l7tech/policy/assertion/Assertion;
      // 053: checkcast com/l7tech/policy/assertion/WsspAssertion
      // 056: astore 5
      // 058: aload 5
      // 05a: ifnonnull 06f
      // 05d: aload 0
      // 05e: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 061: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 064: astore 8
      // 066: aload 8
      // 068: bipush 49
      // 06a: aaload
      // 06b: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 06e: return
      // 06f: aload 1
      // 070: invokeinterface org/w3c/dom/Document.getDocumentElement ()Lorg/w3c/dom/Element; 1
      // 075: getstatic com/l7tech/util/SoapConstants.WSP_NAMESPACE2 Ljava/lang/String;
      // 078: invokestatic com/l7tech/common/io/XmlUtil.stripNamespace (Lorg/w3c/dom/Node;Ljava/lang/String;)V
      // 07b: aload 4
      // 07d: ldc com/l7tech/policy/assertion/xmlsec/WssVersionAssertion
      // 07f: invokestatic com/l7tech/policy/assertion/Assertion.contains (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/Class;)Z
      // 082: istore 6
      // 084: aload 0
      // 085: getfield com/l7tech/server/WsdlProxyServlet.wsspFilterManager Lcom/l7tech/server/policy/filter/FilterManager;
      // 088: aconst_null
      // 089: aload 4
      // 08b: invokevirtual com/l7tech/server/policy/filter/FilterManager.applyAllFilters (Lcom/l7tech/identity/User;Lcom/l7tech/policy/assertion/Assertion;)Lcom/l7tech/policy/assertion/Assertion;
      // 08e: astore 7
      // 090: aload 7
      // 092: ifnull 0e5
      // 095: aload 0
      // 096: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 099: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 09c: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 09f: ifeq 0cb
      // 0a2: goto 0a9
      // 0a5: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a8: athrow
      // 0a9: aload 0
      // 0aa: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 0ad: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 0b0: aload 7
      // 0b2: invokestatic com/l7tech/policy/wsp/WspWriter.getPolicyXml (Lcom/l7tech/policy/assertion/Assertion;)Ljava/lang/String;
      // 0b5: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 0b8: bipush 14
      // 0ba: aaload
      // 0bb: swap
      // 0bc: 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" ]
      // 0c1: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 0c4: goto 0cb
      // 0c7: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ca: athrow
      // 0cb: aload 1
      // 0cc: aload 7
      // 0ce: iload 6
      // 0d0: aload 5
      // 0d2: invokevirtual com/l7tech/policy/assertion/WsspAssertion.getBasePolicyXml ()Ljava/lang/String;
      // 0d5: aload 5
      // 0d7: invokevirtual com/l7tech/policy/assertion/WsspAssertion.getInputPolicyXml ()Ljava/lang/String;
      // 0da: aload 5
      // 0dc: invokevirtual com/l7tech/policy/assertion/WsspAssertion.getOutputPolicyXml ()Ljava/lang/String;
      // 0df: invokestatic com/l7tech/policy/wssp/WsspWriter.decorate (Lorg/w3c/dom/Document;Lcom/l7tech/policy/assertion/Assertion;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 0e2: goto 0f6
      // 0e5: aload 0
      // 0e6: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 0e9: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 0ec: astore 8
      // 0ee: aload 8
      // 0f0: bipush 51
      // 0f2: aaload
      // 0f3: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 0f6: goto 13b
      // 0f9: astore 3
      // 0fa: aload 0
      // 0fb: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 0fe: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 101: aload 3
      // 102: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 105: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 108: astore 8
      // 10a: aload 8
      // 10c: bipush 68
      // 10e: aaload
      // 10f: swap
      // 110: 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" ]
      // 115: aload 3
      // 116: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 119: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 11c: goto 13b
      // 11f: astore 3
      // 120: aload 0
      // 121: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 124: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 127: aload 3
      // 128: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 12b: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 12e: bipush 24
      // 130: aaload
      // 131: swap
      // 132: 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" ]
      // 137: aload 3
      // 138: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 13b: return
      // try (0 -> 15): 15 java/lang/InterruptedException
      // try (17 -> 32): 112 java/lang/InterruptedException
      // try (17 -> 32): 112 com/l7tech/policy/assertion/PolicyAssertionException
      // try (17 -> 32): 112 java/io/IOException
      // try (17 -> 32): 112 com/l7tech/server/policy/filter/FilteringException
      // try (17 -> 32): 112 org/xml/sax/SAXException
      // try (33 -> 53): 112 java/lang/InterruptedException
      // try (33 -> 53): 112 com/l7tech/policy/assertion/PolicyAssertionException
      // try (33 -> 53): 112 java/io/IOException
      // try (33 -> 53): 112 com/l7tech/server/policy/filter/FilteringException
      // try (33 -> 53): 112 org/xml/sax/SAXException
      // try (70 -> 89): 90 java/lang/InterruptedException
      // try (68 -> 75): 76 java/lang/InterruptedException
      // try (54 -> 111): 112 java/lang/InterruptedException
      // try (54 -> 111): 112 com/l7tech/policy/assertion/PolicyAssertionException
      // try (54 -> 111): 112 java/io/IOException
      // try (54 -> 111): 112 com/l7tech/server/policy/filter/FilteringException
      // try (54 -> 111): 112 org/xml/sax/SAXException
      // try (17 -> 32): 129 java/lang/Exception
      // try (33 -> 53): 129 java/lang/Exception
      // try (54 -> 111): 129 java/lang/Exception
   }

   private boolean proxyRequired(PublishedService var1) {
      boolean var2 = false;

      try {
         if (var1.getWsdlUrl() == null || !var1.getWsdlUrl().startsWith(b[42])) {
            return var2;
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }

      return true;
   }

   private void outputServiceDescription(HttpServletRequest param1, HttpServletResponse param2, PublishedService param3, AuthenticationResult[] 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 3
      // 001: invokevirtual com/l7tech/gateway/common/service/PublishedService.isInternal ()Z
      // 004: ifne 030
      // 007: aload 0
      // 008: aload 3
      // 009: invokevirtual com/l7tech/server/WsdlProxyServlet.proxyRequired (Lcom/l7tech/gateway/common/service/PublishedService;)Z
      // 00c: ifne 030
      // 00f: goto 016
      // 012: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 015: athrow
      // 016: aload 0
      // 017: getfield com/l7tech/server/WsdlProxyServlet.config Lcom/l7tech/util/Config;
      // 01a: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 01d: bipush 40
      // 01f: aaload
      // 020: bipush 0
      // 021: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 026: ifeq 038
      // 029: goto 030
      // 02c: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02f: athrow
      // 030: bipush 1
      // 031: goto 039
      // 034: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 037: athrow
      // 038: bipush 0
      // 039: istore 5
      // 03b: aconst_null
      // 03c: astore 7
      // 03e: aconst_null
      // 03f: astore 8
      // 041: iload 5
      // 043: ifeq 060
      // 046: aload 0
      // 047: getfield com/l7tech/server/WsdlProxyServlet.serviceDocumentManager Lcom/l7tech/server/service/ServiceDocumentManager;
      // 04a: aload 3
      // 04b: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 04e: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 051: bipush 55
      // 053: aaload
      // 054: invokeinterface com/l7tech/server/service/ServiceDocumentManager.findByServiceIdAndType (Lcom/l7tech/objectmodel/Goid;Ljava/lang/String;)Ljava/util/Collection; 3
      // 059: goto 063
      // 05c: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 05f: athrow
      // 060: invokestatic java/util/Collections.emptyList ()Ljava/util/List;
      // 063: astore 6
      // 065: aload 1
      // 066: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_SERVICEDOCOID Ljava/lang/String;
      // 069: invokeinterface jakarta/servlet/http/HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String; 2
      // 06e: astore 9
      // 070: aload 9
      // 072: ifnull 0f7
      // 075: aload 6
      // 077: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 07c: astore 10
      // 07e: aload 10
      // 080: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 085: ifeq 0b4
      // 088: aload 10
      // 08a: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 08f: checkcast com/l7tech/gateway/common/service/ServiceDocument
      // 092: astore 11
      // 094: aload 9
      // 096: aload 11
      // 098: invokevirtual com/l7tech/gateway/common/service/ServiceDocument.getId ()Ljava/lang/String;
      // 09b: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 09e: ifeq 0b1
      // 0a1: aload 0
      // 0a2: aload 11
      // 0a4: invokevirtual com/l7tech/gateway/common/service/ServiceDocument.getUri ()Ljava/lang/String;
      // 0a7: aload 11
      // 0a9: invokevirtual com/l7tech/gateway/common/service/ServiceDocument.getContents ()Ljava/lang/String;
      // 0ac: invokevirtual com/l7tech/server/WsdlProxyServlet.parse (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Document;
      // 0af: astore 8
      // 0b1: goto 07e
      // 0b4: aload 8
      // 0b6: ifnonnull 10b
      // 0b9: aload 0
      // 0ba: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 0bd: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0c0: aload 9
      // 0c2: aload 3
      // 0c3: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 0c6: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0c9: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 0cc: astore 26
      // 0ce: aload 26
      // 0d0: bipush 19
      // 0d2: aaload
      // 0d3: dup_x2
      // 0d4: pop
      // 0d5: aload 26
      // 0d7: bipush 97
      // 0d9: aaload
      // 0da: swap
      // 0db: aload 26
      // 0dd: bipush 38
      // 0df: aaload
      // 0e0: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;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\u0001\u0001" ]
      // 0e5: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 0e8: aload 2
      // 0e9: sipush 404
      // 0ec: aload 26
      // 0ee: bipush 98
      // 0f0: aaload
      // 0f1: invokeinterface jakarta/servlet/http/HttpServletResponse.sendError (ILjava/lang/String;)V 3
      // 0f6: return
      // 0f7: aload 3
      // 0f8: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 0fb: astore 7
      // 0fd: aload 0
      // 0fe: aload 3
      // 0ff: invokevirtual com/l7tech/gateway/common/service/PublishedService.getWsdlUrl ()Ljava/lang/String;
      // 102: aload 3
      // 103: invokevirtual com/l7tech/gateway/common/service/PublishedService.getWsdlXml ()Ljava/lang/String;
      // 106: invokevirtual com/l7tech/server/WsdlProxyServlet.parse (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Document;
      // 109: astore 8
      // 10b: goto 135
      // 10e: astore 9
      // 110: aload 0
      // 111: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 114: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 117: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 11a: astore 26
      // 11c: aload 26
      // 11e: bipush 71
      // 120: aaload
      // 121: aload 9
      // 123: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 126: aload 2
      // 127: sipush 404
      // 12a: aload 26
      // 12c: bipush 98
      // 12e: aaload
      // 12f: invokeinterface jakarta/servlet/http/HttpServletResponse.sendError (ILjava/lang/String;)V 3
      // 134: return
      // 135: aload 1
      // 136: invokeinterface jakarta/servlet/http/HttpServletRequest.isSecure ()Z 1
      // 13b: istore 9
      // 13d: aload 1
      // 13e: invokeinterface jakarta/servlet/http/HttpServletRequest.getServerPort ()I 1
      // 143: istore 10
      // 145: iload 9
      // 147: ifeq 157
      // 14a: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 14d: bipush 79
      // 14f: aaload
      // 150: goto 161
      // 153: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 156: athrow
      // 157: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 15a: astore 26
      // 15c: aload 26
      // 15e: bipush 15
      // 160: aaload
      // 161: astore 11
      // 163: aload 0
      // 164: getfield com/l7tech/server/WsdlProxyServlet.config Lcom/l7tech/util/Config;
      // 167: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 16a: astore 26
      // 16c: aload 26
      // 16e: bipush 30
      // 170: aaload
      // 171: sipush 8080
      // 174: invokeinterface com/l7tech/util/Config.getIntProperty (Ljava/lang/String;I)I 3
      // 179: istore 12
      // 17b: aload 0
      // 17c: getfield com/l7tech/server/WsdlProxyServlet.config Lcom/l7tech/util/Config;
      // 17f: aload 26
      // 181: bipush 99
      // 183: aaload
      // 184: sipush 8443
      // 187: invokeinterface com/l7tech/util/Config.getIntProperty (Ljava/lang/String;I)I 3
      // 18c: istore 13
      // 18e: aload 26
      // 190: bipush 15
      // 192: aaload
      // 193: aload 11
      // 195: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 198: ifeq 1b7
      // 19b: iload 10
      // 19d: bipush 80
      // 19f: if_icmpeq 1e9
      // 1a2: goto 1a9
      // 1a5: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a8: athrow
      // 1a9: iload 10
      // 1ab: iload 12
      // 1ad: if_icmpeq 1e9
      // 1b0: goto 1b7
      // 1b3: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b6: athrow
      // 1b7: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 1ba: bipush 79
      // 1bc: aaload
      // 1bd: aload 11
      // 1bf: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 1c2: ifeq 309
      // 1c5: goto 1cc
      // 1c8: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1cb: athrow
      // 1cc: iload 10
      // 1ce: sipush 443
      // 1d1: if_icmpeq 1e9
      // 1d4: goto 1db
      // 1d7: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1da: athrow
      // 1db: iload 10
      // 1dd: iload 13
      // 1df: if_icmpne 309
      // 1e2: goto 1e9
      // 1e5: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e8: athrow
      // 1e9: aconst_null
      // 1ea: astore 14
      // 1ec: aload 4
      // 1ee: ifnull 208
      // 1f1: aload 4
      // 1f3: arraylength
      // 1f4: bipush 1
      // 1f5: if_icmpne 208
      // 1f8: goto 1ff
      // 1fb: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1fe: athrow
      // 1ff: aload 4
      // 201: bipush 0
      // 202: aaload
      // 203: invokevirtual com/l7tech/server/identity/AuthenticationResult.getUser ()Lcom/l7tech/identity/User;
      // 206: astore 14
      // 208: aload 4
      // 20a: ifnull 22f
      // 20d: aload 4
      // 20f: arraylength
      // 210: bipush 1
      // 211: if_icmple 22f
      // 214: goto 21b
      // 217: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 21a: athrow
      // 21b: aload 0
      // 21c: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 21f: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 222: bipush 76
      // 224: aaload
      // 225: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 228: goto 22f
      // 22b: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22e: athrow
      // 22f: aload 0
      // 230: aload 3
      // 231: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 234: invokevirtual com/l7tech/policy/Policy.getXml ()Ljava/lang/String;
      // 237: invokevirtual com/l7tech/server/WsdlProxyServlet.parsePolicy (Ljava/lang/String;)Lcom/l7tech/policy/assertion/Assertion;
      // 23a: astore 15
      // 23c: aload 0
      // 23d: getfield com/l7tech/server/WsdlProxyServlet.clientPolicyFilterManager Lcom/l7tech/server/policy/filter/FilterManager;
      // 240: aload 14
      // 242: aload 15
      // 244: invokevirtual com/l7tech/server/policy/filter/FilterManager.applyAllFilters (Lcom/l7tech/identity/User;Lcom/l7tech/policy/assertion/Assertion;)Lcom/l7tech/policy/assertion/Assertion;
      // 247: astore 16
      // 249: aload 16
      // 24b: ldc com/l7tech/policy/assertion/SslAssertion
      // 24d: invokestatic com/l7tech/server/WsdlProxyServlet.getFirstChild (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/Class;)Lcom/l7tech/policy/assertion/Assertion;
      // 250: checkcast com/l7tech/policy/assertion/SslAssertion
      // 253: astore 17
      // 255: iload 9
      // 257: ifne 2a3
      // 25a: aload 17
      // 25c: ifnull 2a3
      // 25f: goto 266
      // 262: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 265: athrow
      // 266: aload 17
      // 268: invokevirtual com/l7tech/policy/assertion/SslAssertion.getOption ()Lcom/l7tech/policy/assertion/SslAssertion$Option;
      // 26b: getstatic com/l7tech/policy/assertion/SslAssertion.REQUIRED Lcom/l7tech/policy/assertion/SslAssertion$Option;
      // 26e: if_acmpne 2a3
      // 271: goto 278
      // 274: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 277: athrow
      // 278: iload 10
      // 27a: bipush 80
      // 27c: if_icmpne 290
      // 27f: goto 286
      // 282: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 285: athrow
      // 286: sipush 443
      // 289: goto 292
      // 28c: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 28f: athrow
      // 290: iload 13
      // 292: istore 10
      // 294: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 297: astore 26
      // 299: aload 26
      // 29b: bipush 79
      // 29d: aaload
      // 29e: astore 11
      // 2a0: goto 2ee
      // 2a3: iload 9
      // 2a5: ifeq 2ee
      // 2a8: aload 17
      // 2aa: ifnull 2ee
      // 2ad: goto 2b4
      // 2b0: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2b3: athrow
      // 2b4: aload 17
      // 2b6: invokevirtual com/l7tech/policy/assertion/SslAssertion.getOption ()Lcom/l7tech/policy/assertion/SslAssertion$Option;
      // 2b9: getstatic com/l7tech/policy/assertion/SslAssertion.FORBIDDEN Lcom/l7tech/policy/assertion/SslAssertion$Option;
      // 2bc: if_acmpne 2ee
      // 2bf: goto 2c6
      // 2c2: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2c5: athrow
      // 2c6: iload 10
      // 2c8: sipush 443
      // 2cb: if_icmpne 2de
      // 2ce: goto 2d5
      // 2d1: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2d4: athrow
      // 2d5: bipush 80
      // 2d7: goto 2e0
      // 2da: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2dd: athrow
      // 2de: iload 12
      // 2e0: istore 10
      // 2e2: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 2e5: astore 26
      // 2e7: aload 26
      // 2e9: bipush 15
      // 2eb: aaload
      // 2ec: astore 11
      // 2ee: goto 309
      // 2f1: astore 15
      // 2f3: aload 0
      // 2f4: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 2f7: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 2fa: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 2fd: astore 26
      // 2ff: aload 26
      // 301: bipush 58
      // 303: aaload
      // 304: aload 15
      // 306: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 309: ldc ""
      // 30b: astore 14
      // 30d: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 310: bipush 79
      // 312: aaload
      // 313: aload 11
      // 315: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 318: ifeq 32a
      // 31b: iload 10
      // 31d: sipush 443
      // 320: if_icmpeq 356
      // 323: goto 32a
      // 326: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 329: athrow
      // 32a: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 32d: bipush 15
      // 32f: aaload
      // 330: aload 11
      // 332: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 335: ifeq 34d
      // 338: goto 33f
      // 33b: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33e: athrow
      // 33f: iload 10
      // 341: bipush 80
      // 343: if_icmpeq 356
      // 346: goto 34d
      // 349: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 34c: athrow
      // 34d: iload 10
      // 34f: invokedynamic makeConcatWithConstants (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" ]
      // 354: astore 14
      // 356: aload 3
      // 357: invokevirtual com/l7tech/gateway/common/service/PublishedService.getRoutingUri ()Ljava/lang/String;
      // 35a: astore 16
      // 35c: aload 16
      // 35e: ifnull 371
      // 361: aload 16
      // 363: invokevirtual java/lang/String.length ()I
      // 366: bipush 1
      // 367: if_icmpge 3b3
      // 36a: goto 371
      // 36d: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 370: athrow
      // 371: new java/net/URL
      // 374: dup
      // 375: aload 11
      // 377: aload 1
      // 378: invokeinterface jakarta/servlet/http/HttpServletRequest.getServerName ()Ljava/lang/String; 1
      // 37d: invokestatic com/l7tech/util/InetAddressUtil.getHostForUrl (Ljava/lang/String;)Ljava/lang/String;
      // 380: aload 14
      // 382: getstatic com/l7tech/common/protocol/SecureSpanConstants.SERVICE_FILE Ljava/lang/String;
      // 385: aload 3
      // 386: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 389: invokestatic com/l7tech/objectmodel/Goid.toString (Lcom/l7tech/objectmodel/Goid;)Ljava/lang/String;
      // 38c: astore 19
      // 38e: astore 20
      // 390: astore 21
      // 392: astore 22
      // 394: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 397: astore 26
      // 399: aload 26
      // 39b: bipush 21
      // 39d: aaload
      // 39e: aload 22
      // 3a0: aload 21
      // 3a2: aload 20
      // 3a4: aload 19
      // 3a6: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;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\u0001\u0001\u0001" ]
      // 3ab: invokespecial java/net/URL.<init> (Ljava/lang/String;)V
      // 3ae: astore 15
      // 3b0: goto 3e6
      // 3b3: new java/net/URL
      // 3b6: dup
      // 3b7: aload 11
      // 3b9: aload 1
      // 3ba: invokeinterface jakarta/servlet/http/HttpServletRequest.getServerName ()Ljava/lang/String; 1
      // 3bf: invokestatic com/l7tech/util/InetAddressUtil.getHostForUrl (Ljava/lang/String;)Ljava/lang/String;
      // 3c2: aload 14
      // 3c4: aload 16
      // 3c6: astore 23
      // 3c8: astore 24
      // 3ca: astore 25
      // 3cc: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 3cf: astore 26
      // 3d1: aload 26
      // 3d3: bipush 21
      // 3d5: aaload
      // 3d6: aload 25
      // 3d8: aload 24
      // 3da: aload 23
      // 3dc: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;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\u0001\u0001" ]
      // 3e1: invokespecial java/net/URL.<init> (Ljava/lang/String;)V
      // 3e4: astore 15
      // 3e6: aload 1
      // 3e7: invokeinterface jakarta/servlet/http/HttpServletRequest.getServletPath ()Ljava/lang/String; 1
      // 3ec: astore 17
      // 3ee: new java/net/URI
      // 3f1: dup
      // 3f2: aload 1
      // 3f3: invokeinterface jakarta/servlet/http/HttpServletRequest.getRequestURL ()Ljava/lang/StringBuffer; 1
      // 3f8: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // 3fb: invokespecial java/net/URI.<init> (Ljava/lang/String;)V
      // 3fe: aload 1
      // 3ff: invokeinterface jakarta/servlet/http/HttpServletRequest.getServletPath ()Ljava/lang/String; 1
      // 404: invokevirtual java/net/URI.resolve (Ljava/lang/String;)Ljava/net/URI;
      // 407: invokevirtual java/net/URI.toString ()Ljava/lang/String;
      // 40a: astore 17
      // 40c: goto 432
      // 40f: astore 18
      // 411: aload 0
      // 412: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 415: aload 18
      // 417: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 41a: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 41d: astore 26
      // 41f: aload 26
      // 421: bipush 39
      // 423: aaload
      // 424: swap
      // 425: aload 26
      // 427: bipush 38
      // 429: aaload
      // 42a: 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" ]
      // 42f: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 432: aload 0
      // 433: aload 3
      // 434: aload 8
      // 436: aload 6
      // 438: aload 17
      // 43a: new com/l7tech/server/bb
      // 43d: dup
      // 43e: aload 0
      // 43f: aload 3
      // 440: invokespecial com/l7tech/server/bb.<init> (Lcom/l7tech/server/WsdlProxyServlet;Lcom/l7tech/gateway/common/service/PublishedService;)V
      // 443: invokevirtual com/l7tech/server/WsdlProxyServlet.rewriteReferences (Lcom/l7tech/gateway/common/service/PublishedService;Lorg/w3c/dom/Document;Ljava/util/Collection;Ljava/lang/String;Lcom/l7tech/util/Functions$UnaryVoid;)V
      // 446: aload 8
      // 448: aload 15
      // 44a: aconst_null
      // 44b: aload 7
      // 44d: if_acmpne 458
      // 450: aconst_null
      // 451: goto 45d
      // 454: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 457: athrow
      // 458: aload 7
      // 45a: invokevirtual com/l7tech/objectmodel/Goid.toString ()Ljava/lang/String;
      // 45d: invokestatic com/l7tech/wsdl/WsdlUtil.addOrUpdateEndpoints (Lorg/w3c/dom/Document;Ljava/net/URL;Ljava/lang/String;)V
      // 460: aload 0
      // 461: aload 8
      // 463: aload 3
      // 464: invokevirtual com/l7tech/server/WsdlProxyServlet.addSecurityPolicy (Lorg/w3c/dom/Document;Lcom/l7tech/gateway/common/service/PublishedService;)V
      // 467: aload 2
      // 468: getstatic com/l7tech/common/io/XmlUtil.TEXT_XML Ljava/lang/String;
      // 46b: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 46e: astore 26
      // 470: aload 26
      // 472: bipush 61
      // 474: aaload
      // 475: 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" ]
      // 47a: invokeinterface jakarta/servlet/http/HttpServletResponse.setContentType (Ljava/lang/String;)V 2
      // 47f: aload 8
      // 481: aload 2
      // 482: invokeinterface jakarta/servlet/http/HttpServletResponse.getOutputStream ()Ljakarta/servlet/ServletOutputStream; 1
      // 487: invokestatic com/l7tech/common/io/XmlUtil.nodeToOutputStream (Lorg/w3c/dom/Node;Ljava/io/OutputStream;)V
      // 48a: goto 4ae
      // 48d: astore 18
      // 48f: aload 0
      // 490: getfield com/l7tech/server/WsdlProxyServlet.logger Ljava/util/logging/Logger;
      // 493: getstatic java/util/logging/Level.SEVERE Ljava/util/logging/Level;
      // 496: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 499: bipush 26
      // 49b: aaload
      // 49c: aload 18
      // 49e: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 4a1: new java/io/IOException
      // 4a4: dup
      // 4a5: aload 18
      // 4a7: invokevirtual java/io/IOException.getMessage ()Ljava/lang/String;
      // 4aa: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 4ad: athrow
      // 4ae: return
      // try (31 -> 42): 42 org/xml/sax/SAXException
      // try (10 -> 23): 23 org/xml/sax/SAXException
      // try (3 -> 18): 19 org/xml/sax/SAXException
      // try (0 -> 7): 8 org/xml/sax/SAXException
      // try (31 -> 106): 118 org/xml/sax/SAXException
      // try (31 -> 106): 118 com/l7tech/objectmodel/FindException
      // try (107 -> 117): 118 org/xml/sax/SAXException
      // try (107 -> 117): 118 com/l7tech/objectmodel/FindException
      // try (311 -> 319): 319 org/xml/sax/SAXException
      // try (304 -> 314): 315 org/xml/sax/SAXException
      // try (299 -> 308): 309 org/xml/sax/SAXException
      // try (297 -> 301): 302 org/xml/sax/SAXException
      // try (278 -> 286): 286 org/xml/sax/SAXException
      // try (271 -> 281): 282 org/xml/sax/SAXException
      // try (266 -> 275): 276 org/xml/sax/SAXException
      // try (264 -> 268): 269 org/xml/sax/SAXException
      // try (231 -> 244): 245 org/xml/sax/SAXException
      // try (229 -> 235): 236 org/xml/sax/SAXException
      // try (215 -> 221): 222 org/xml/sax/SAXException
      // try (201 -> 210): 211 org/xml/sax/SAXException
      // try (192 -> 204): 205 org/xml/sax/SAXException
      // try (186 -> 198): 199 org/xml/sax/SAXException
      // try (180 -> 189): 190 org/xml/sax/SAXException
      // try (174 -> 183): 184 org/xml/sax/SAXException
      // try (142 -> 148): 148 org/xml/sax/SAXException
      // try (247 -> 329): 330 java/lang/Exception
      // try (376 -> 382): 383 org/xml/sax/SAXException
      // try (355 -> 367): 368 org/xml/sax/SAXException
      // try (349 -> 361): 362 org/xml/sax/SAXException
      // try (343 -> 352): 353 org/xml/sax/SAXException
      // try (438 -> 449): 450 java/lang/Exception
      // try (466 -> 484): 484 org/xml/sax/SAXException
      // try (502 -> 506): 507 java/io/IOException
   }

   private Document parse(String var1, String var2) throws IOException, SAXException {
      InputSource var3 = new InputSource();
      var3.setSystemId(var1);
      var3.setCharacterStream(new StringReader(var2));
      return XmlUtil.parse(var3, false);
   }

   private void outputServiceDescriptions(HttpServletRequest var1, HttpServletResponse var2, Collection<PublishedService> var3) throws IOException {
      String var4 = var1.getRequestURI();
      String[] var7 = b;
      var4 = var4.replaceAll(var7[83], var7[11]);
      String var5 = this.createWSILDoc(var1, var3, var1.getServerName(), var1.getServerPort(), var4);
      var2.setContentType(XmlUtil.TEXT_XML + var7[61]);
      ServletOutputStream var6 = var2.getOutputStream();
      var6.print(var5);
      var6.close();
   }

   private bf listAllServices() throws FindException {
      List var1 = Functions.grep(this.serviceCache.getCachedServices(), new bc(this));
      return new bd(this, var1);
   }

   private bf listAnonymouslyViewableServices() throws IOException, FindException {
      return this.listAnonymouslyViewableAndProtectedServices(null);
   }

   private bf listAnonymouslyViewableAndProtectedServices(AuthenticationResult[] var1) throws IOException, FindException {
      Collection var2 = this.serviceCache.getCachedServices();
      ArrayList var3 = new ArrayList();

      for (PublishedService var5 : var2) {
         try {
            if (var5.isDisabled()) {
               continue;
            }
         } catch (IOException var11) {
            throw a(var11);
         }

         try {
            if (this.policyAllowAnonymous(var5.getPolicy())) {
               var3.add(var5);
               continue;
            }
         } catch (IOException var13) {
            throw a(var13);
         }

         if (var1 != null) {
            for (AuthenticationResult var9 : var1) {
               User var10 = var9.getUser();

               try {
                  if (this.userCanSeeThisService(var10, var5)) {
                     var3.add(var5);
                  }
               } catch (IOException var12) {
                  throw a(var12);
               }
            }
         }
      }

      return new be(this, var3, var2);
   }

   private boolean userCanSeeThisService(User var1, PublishedService var2) throws IOException {
      Assertion var3 = this.parsePolicy(var2.getPolicy().getXml());
      return this.checkForIdPotential(var3, var1);
   }

   private boolean checkForIdPotential(Assertion var1, User var2) {
      if (var1 instanceof IdentityAssertion) {
         FilteringException var10;
         try {
            try {
               if (IdentityRule.canUserPassIDAssertion((IdentityAssertion)var1, var2, this.identityProviderFactory)) {
                  return true;
               }

               return false;
            } catch (FilteringException var7) {
               var10 = var7;
            }
         } catch (IllegalArgumentException var8) {
            throw a(var8);
         }

         this.logger.log(Level.SEVERE, b[84], var10);
         return false;
      } else if (var1 instanceof CustomAssertionHolder var9) {
         return var9.isCustomCredentialSource();
      } else if (!(var1 instanceof CompositeAssertion var3)) {
         return false;
      } else {
         for (Assertion var5 : var3.getChildren()) {
            try {
               if (this.checkForIdPotential(var5, var2)) {
                  return true;
               }
            } catch (FilteringException var6) {
               throw a(var6);
            }
         }

         return false;
      }
   }

   private String resModeQueryString(PublishedService param1) throws ServiceResolutionException {
      // $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 1
      // 01: invokevirtual com/l7tech/gateway/common/service/PublishedService.getRoutingUri ()Ljava/lang/String;
      // 04: astore 2
      // 05: aload 2
      // 06: ifnonnull 0c
      // 09: ldc ""
      // 0b: astore 2
      // 0c: ldc ""
      // 0e: astore 3
      // 0f: aload 0
      // 10: getfield com/l7tech/server/WsdlProxyServlet.nsResolver Lcom/l7tech/server/service/resolution/UrnResolver;
      // 13: aload 1
      // 14: invokevirtual com/l7tech/server/service/resolution/UrnResolver.getDistinctParameters (Lcom/l7tech/gateway/common/service/PublishedService;)Ljava/util/Set;
      // 17: astore 4
      // 19: aload 4
      // 1b: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 20: astore 5
      // 22: aload 5
      // 24: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 29: ifeq 5e
      // 2c: aload 5
      // 2e: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 33: checkcast java/lang/String
      // 36: astore 6
      // 38: aload 6
      // 3a: ifnull 40
      // 3d: aload 6
      // 3f: astore 3
      // 40: aload 6
      // 42: ifnull 5b
      // 45: aload 6
      // 47: invokevirtual java/lang/String.length ()I
      // 4a: ifle 5b
      // 4d: goto 54
      // 50: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 53: athrow
      // 54: goto 5e
      // 57: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5a: athrow
      // 5b: goto 22
      // 5e: ldc ""
      // 60: astore 5
      // 62: aload 0
      // 63: getfield com/l7tech/server/WsdlProxyServlet.sactionResolver Lcom/l7tech/server/service/resolution/SoapActionResolver;
      // 66: aload 1
      // 67: invokevirtual com/l7tech/server/service/resolution/SoapActionResolver.getDistinctParameters (Lcom/l7tech/gateway/common/service/PublishedService;)Ljava/util/Set;
      // 6a: astore 6
      // 6c: aload 6
      // 6e: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 73: astore 7
      // 75: aload 7
      // 77: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 7c: ifeq b2
      // 7f: aload 7
      // 81: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 86: checkcast java/lang/String
      // 89: astore 8
      // 8b: aload 8
      // 8d: ifnull 94
      // 90: aload 8
      // 92: astore 5
      // 94: aload 8
      // 96: ifnull af
      // 99: aload 8
      // 9b: invokevirtual java/lang/String.length ()I
      // 9e: ifle af
      // a1: goto a8
      // a4: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a7: athrow
      // a8: goto b2
      // ab: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // ae: athrow
      // af: goto 75
      // b2: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_URI Ljava/lang/String;
      // b5: aload 2
      // b6: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_SACTION Ljava/lang/String;
      // b9: aload 5
      // bb: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_NS Ljava/lang/String;
      // be: aload 3
      // bf: astore 9
      // c1: astore 10
      // c3: astore 11
      // c5: astore 12
      // c7: astore 13
      // c9: ldc "="
      // cb: aload 13
      // cd: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // d0: astore 14
      // d2: aload 14
      // d4: bipush 41
      // d6: aaload
      // d7: aload 12
      // d9: ldc "="
      // db: aload 11
      // dd: aload 14
      // df: bipush 17
      // e1: aaload
      // e2: aload 10
      // e4: ldc "="
      // e6: aload 9
      // e8: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;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\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" ]
      // ed: areturn
      // try (28 -> 33): 34 com/l7tech/server/service/resolution/ServiceResolutionException
      // try (30 -> 37): 37 com/l7tech/server/service/resolution/ServiceResolutionException
      // try (61 -> 66): 67 com/l7tech/server/service/resolution/ServiceResolutionException
      // try (63 -> 70): 70 com/l7tech/server/service/resolution/ServiceResolutionException
   }

   private boolean isResModeRequested(HttpServletRequest 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 1
      // 01: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpQueryParameters.PARAM_MODE Ljava/lang/String;
      // 04: invokeinterface jakarta/servlet/http/HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String; 2
      // 09: astore 2
      // 0a: aload 2
      // 0b: ifnull 2b
      // 0e: aload 2
      // 0f: invokevirtual java/lang/String.toLowerCase ()Ljava/lang/String;
      // 12: getstatic com/l7tech/server/WsdlProxyServlet.b [Ljava/lang/String;
      // 15: bipush 80
      // 17: aaload
      // 18: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 1b: ifeq 2b
      // 1e: goto 25
      // 21: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24: athrow
      // 25: bipush 1
      // 26: ireturn
      // 27: invokestatic com/l7tech/server/WsdlProxyServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a: athrow
      // 2b: bipush 0
      // 2c: ireturn
      // try (4 -> 13): 14 java/lang/IllegalArgumentException
      // try (6 -> 18): 18 java/lang/IllegalArgumentException
   }

   private String createWSILDoc(HttpServletRequest var1, Collection<PublishedService> var2, String var3, int var4, String var5) {
      boolean var6 = this.isResModeRequested(var1);

      String var10000;
      label36: {
         try {
            if (var1.isSecure()) {
               var10000 = b[33];
               break label36;
            }
         } catch (ServiceResolutionException var14) {
            throw a(var14);
         }

         String[] var12 = b;
         var10000 = var12[8];
      }

      String var7 = var10000;
      String var10002 = this.styleURL();
      String[] var15 = b;
      StringBuilder var8 = new StringBuilder(var15[47] + var10002 + var15[1]);

      for (PublishedService var10 : var2) {
         if (var10.isSoap()) {
            try {
               String var11;
               if (var6) {
                  var11 = this.resModeQueryString(var10);
               } else {
                  var11 = HttpQueryParameters.PARAM_SERVICEOID + "=" + Goid.toString(var10.getGoid());
               }

               var15 = b;
               var8.append(var15[22]);
               var8.append(var15[62]).append(var10.getName()).append(var15[57]);
               var8.append(var15[34]);
               var8.append(var15[25]);
               var8.append(var7).append(var15[88]).append(InetAddressUtil.getHostForUrl(var3)).append(":").append(var4).append(var5).append("?").append(var11);
               var8.append(var15[66]);
               var8.append(var15[82]);
            } catch (ServiceResolutionException var13) {
               Logger var18 = this.logger;
               Level var10001 = Level.WARNING;
               var10002 = String.valueOf(var10.getGoid());
               var15 = b;
               var18.log(var10001, var15[69] + var10002 + var15[91], var13);
            }
         }
      }

      var8.append(b[53]);
      return var8.toString();
   }

   protected void sendBackError(HttpServletResponse var1, int var2, String var3) throws IOException {
      var1.setStatus(var2);
      var1.getOutputStream().print(var3);
      var1.getOutputStream().close();
   }

   private static Assertion getFirstChild(Assertion var0, Class var1) {
      Assertion var2 = null;
      if (var1.isInstance(var0)) {
         var2 = var0;
      } else if (var0 instanceof CompositeAssertion var3) {
         for (Assertion var6 : var3.getChildren()) {
            var2 = getFirstChild(var6, var1);

            try {
               if (var2 != null) {
                  break;
               }
            } catch (IllegalArgumentException var7) {
               throw a(var7);
            }
         }
      }

      return var2;
   }

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

   static {
      String[] var5 = new String[100];
      int var3 = 0;
      String var2 = "4,\u0000/D\u0018\u000f2!\u00019OL\u0005!(\u0016|EWL.+\u0011|FJ\r.0E%NML!'\u00069RKL4+E(IQ\u001f`7\u0000.WQ\u000f%d\u00019R[\u001e)4\u00115NVBKb{[V\u001dQ\u000234\u0000?UQ\u0003.d\u001d1MV\u001f}f\r(UHVok\u0016?I]\u0001!7K$LT\u001f/%\u0015rNJ\u000bo3\u0016s\u0013\b\\qkTl\u000eQ\u000234\u0000?UQ\u0003.kGb+*\u0010%\u0017=L]\u0018%6\u0016|EQ\b`*\n(\u0001J\t3+\t*D\u0018\u0018/d\u00042X\u0018\u001f%6\u00135B]B\"\u0012!\u0011)SV\t$d\u00019R[\u001e)4\u00115NVL&+\u0017|R]\u001e6-\u00069\r\u0018)\u0017\u0017H\u000fD[\u00192-\u0011%qW\u0000)'\u001c|E]\u000f/6\u0004(HW\u0002`*\n(\u0001]\u0002!&\t9E\u0016*\u0017\u0017!\u0010\u0001H\u001e/<\u001c|S]\u001d5!\u0016(\u0001Y\u00194,\u00002UQ\u000f!0\f3O\u0018\n!-\t9E\u0002L\u0015\u00011\u00114DV\u0018)'\u0004(HW\u0002`\"\u00045M]\b\u0004!*\n2\u0004(0\u0011,\u001d` \f8\u0001V\u00034d\u00179RW\u00006!E=OAL3!\u0017*H[\tnMb{[V\u001dQ\u000234\u0000?UQ\u0003.d\u001d1MV\u001f}f\r(UHVok\u0016?I]\u0001!7K$LT\u001f/%\u0015rNJ\u000bo3\u0016s\u0013\b\\qkTl\u000eQ\u000234\u0000?UQ\u0003.kG|\u000e\u0006f\u000477\u00010\n2!\b3U]L)4E*57\u0000.\u0001\\\t.-\u00008\u0001Y\u000f#!\u0016/\u0001L\u0003`7\u0000.WQ\u000f%d\u00019R[\u001e)4\u00115NVL\u001c\u0005\"\u00039BL\u00056!E,NT\u0005#=E:NJL57\u0000.\u001b\u0018f\u0004(0\u0011,1\u0007%\u00119VY\u0015`\u00136\u0018m\u0018\u001c2+\u001d%\u0001K\t22\f?D\u0018\u0002/0E9OY\u000e,!\u0001|CAL,-\u00069OK\t\u0005f%\b,\u001a\u0014#%\u000b2NLL,-\u0016(\u0001K\t22\f?DK(\u0003%\u000b2NLL&-\u000b8\u0001Q\u00010+\u0017(D\\L$+\u0006)L]\u00024d\u00125UPL/-\u0001|\u0006*`3\u0004/\u0001V\u00034d\u0004)UP\u00032-\u001f9E\u0018\u000e9d\u00042X\u0018\u001c!7\u0016(IJ\u00035#\r|HVL\u0003zkJ\u000bIx\u00169SN\u0005#![V\u001b\u0013!\u0017*H[\t`6\u0000-T]\u001f4d\u00041CQ\u000b5+\u0010/\u001b\u0018\u001e\u0003+\u00100E\u0018\u0002/0E=E\\L0+\t5BAL4+E\u000br| zd\n,+\u0006=UQ\u0003.yG\u0014%6\u00173S\u0018\u000350\u0015)UQ\u0002'd\u0012/ET \u0014+\n|LY\u00029d\u00169SN\u0005#!\u0016|GQ\u0018`0\r9\u0001U\u0003, _|\u0013o7\u0016;\u000eO\u001f)(W$IL\u0001,j\u001d1M1\u0013!\u0017*H[\t`*\n(\u0001H\t2)\f(U]\b`+\u000b|UP\u00053d\u00153SL@`6\u0000(TJ\u0002)*\u0002|\u0014\b\\\b(0\u0011,qW\u001e4\f!1\u00015U~\r#0\n.X%`3\u0004/\u0001Y\u00194,\n.HB\t$d\u0007%\u0001H\r37\u00114SW\u0019',E*@T\u0019%d\u0005(0\u0011,RFIMY8DK\u000f2-\u0015(HW\u0002`6\u0000:DJ\t.'\u00008oY\u0001%7\u0015=B]Qb,\u0011(Q\u0002Co7\u00064DU\r3j\u001d1MK\u0003!4K3S_C77\u00010\u000e\u001aL\u0010\u0017\u00132q`M\u0018(!\u000b(H[\r4!\u000e\u0002%\u00165B\u0018\u001e%%\t1\u001c\u001aN\u00130+\t5BA*)(\u00119Su\r.%\u00029S\u0002gj1\u0015*\u0004>M]L4+E8DL\t2)\f2D\u0018\r\"7\n0TL\t`\u00117\u0010\u0001^\u00032d\u0012/ETL06\n$X\u0018K\u001677\u00010hU\u001c/6\u0011\fSW\u00149\u0001\u000b=CT\t$\u0005f%\b,\u001a\u0005&-\t9\u001b 77\u00010qJ\u00038=K=MT\u00037\r\u000b/D[\u00192!-(UH.!7\f?\u0016#+\brM\u000f\u0018%'\rrR]\u001e6!\u0017rVK\u001f0\u0003!(\t\u00140%\u0016/UP\u001e/1\u00024eW\u001b.(\n=EKN|{\u001d1M\u0018\u001a%6\u00165NVQbuKl\u0003\u0018\t.'\n8HV\u000b}f0\bg\u0015Tb{[V\u001d\u0007\u0014-(H/UA\u0000%7\r9DLL4=\u00159\u001c\u001a\u0018%<\u0011sYK\u0000bd\r.D^Qb\u00194!\u001d(\u000eH\u0000!-\u000bg\u0001[\u0004!6\u00169U\u00059\u0014\u0002Hd7\u000e+E\u000brk<`\u0005\u0016/DJ\u0018)+\u000b|HVL0+\t5BA@`*\n(\u0001Y\b$-\u000b;\u0001H\u0003,-\u0006%\u0001L\u0003`\u00136\u0018m\u0016\u00113!\u0017*H[\tz\u0013\u00168Mh\u001e/<\u001c\u0011\u000e+E,NT\u0005#=E(N\u0018\r$ D\u00183!\u0017*H[\t`5\u00109SAL4+\n|VQ\b%~E\r|k\f2RH\t#0\f3O\u0006\u0019\u0013!\u0017*H[\t`6\u0000-T]\u001f4d\u00041CQ\u000b5+\u0010/\u000b\u0017\u0017!\u0010\fq!\u0010\u000b7\b 77\u00010qJ\u00038=K=MT\u00037\r\u000b/D[\u00192!-(UH.!7\f?\f|k\u0004>RL\u001e!'\u0011b+;\u0003+\u00100E\u0018\u0002/0E8DL\t2)\f2D\u0018\u0005&d-\buhC\b\u00101\fr\u0018\u00053d\u00179PM\u00052!\u0001|GW\u001e`!\u000b8QW\u0005.0K\u00163!\u0017*H[\t\u0004+\u0006)L]\u00024\t\u00042@_\t2\u001677\u0016,NT\u0005#=#5ML\t2\t\u00042@_\t2\u000f{d\u00064@J\u001f%0X)U^Ax\fIMY=CK\u00182%\u0006(\u001f$\u0013!\u0017*H[\t`-\u0016|TV\u0000)'\u00002R]\bld\u00179UM\u001e.-\u000b;\u0001\r\\p%3!\u000b8HV\u000b`&\u0004?J\u0018\r50\r9OL\u0005#%\u00115NVL#,\u00040M]\u0002'!\u001d#%\u000b2NLL0%\u0017/D\u0018\u001f%6\u00135B]L) E:SW\u0001`\u0004bk[V\u0018\u00056\u00173S\u0018\u001e%7\n0WQ\u0002'd\u00169SN\u0005#!K\u001e\u0003+\u00100E\u0018\u0002/0E=E\\L0+\t5BAL4+E\u000br| zd%\u0003+\u00100E\u0018\u0002/0E,SW\u000f%7\u0016|R]\u001e6-\u00069\u0001O\u00054,E;NQ\b`c\u00133!\u0017*H[\t`,\u0004/\u0001V\u0003`3\u00168M\u0011#%\u000b2NLL0%\u0017/D\u0018\u001b3 \t 3!\u0017*H[\tn \f/@Z\u0000% 69SN\u0005#!!3VV\u0000/%\u0001/,\u0012!\u0011)SV\t$d\t5RLL/\"E/DJ\u001a)'\u0000|E]\u001f#6\f,UQ\u0003.d\u0011=S_\t47\u0019\t*\u0013=MQ\b`7\u0000.WQ\u000f%d\u00179PM\t30\u00008\u000b\u0013!\u0017*H[\t`-\u0001|L\u0003%\u000b2NLL$!\u00119SU\u0005.!E5G\u0018$\u0014\u00105\u000f\u0001Q\u001f`6\u0000-TQ\u001e% E:NJL%\"\u00039BL\u00056!E,NT\u0005#=EtLM\u00004-\u00150D\u0018\u00193!\u0017/\b\u0016\u00180+\t5BA<!0\r\u001eTQ\u0000$!\u0017\u001a@[\u0018/6\u001cP\u00036\u00008DV\u0018)%\t/\u0001\\\u0003`*\n(\u0001Y\u00194,\u00002UQ\u000f!0\u0000|@_\r)*\u0016(\u0001Y\u00029d\n:\u0001L\u0004%d\u0015.NN\u0005$!\u0017/\r\u0018\r37\u00101HV\u000b`%\u000b3OA\u0001/1\u0016\u0005(0\u0011,R\u00032!\u0016)57\u0000.\u0001\\\t.-\u00008\u0001Y\u000f#!\u0016/\u0001L\u0003`7\u0000.WQ\u000f%d\u00019R[\u001e)4\u00115NV\fIxJ/DJ\u001a)'\u0000b+\u000477\f0\u001d#%\u000b2NLL#,\u0000?J\u0018\n/6E5E\u0018\r37\u0000.UQ\u0003.\u0016#+\brM\u000f\u0018%'\rrR]\u001e6!\u0017rVK\u001f0\u001677\u00010hU\u001c/6\u0011\fSW\u00149\u0001\u000b=CT\t$\u000b0%\u0016/UP\u001e/1\u00024\u0003zkJ\u0004!*\n2\u000f{d\u00064@J\u001f%0X)U^Ax\u0002gj\n2!\b3U]L)4E5\u0007%\u00119VY\u0015`\u00136\u0018m\u0018\u001c2+\u001d%\u0001K\t22\f?D\u0018\u0002/0E,DJ\u0001)0\u00119E\u0018\u0003.d\u00114HKL0+\u0017(G9+\u0010|O]\t$d\u00113\u0001H\u001e/2\f8D\u0018\u001a!(\f8\u0001[\u001e% \u00002UQ\r,7E(N\u0018\u001f%!E(IQ\u001f`7\u0000.WQ\u000f%c\u0016|E]\u001f#6\f,UQ\u0003.\u001b\t*\u0013=MQ\b`7\u0000.WQ\u000f%d\u00179PM\t30\u00008\u0001\u0010N|{\u001d1M\u0018\u001a%6\u00165NVQbuKl\u0003\u0018\t.'\n8HV\u000b}f0\bg\u0015Tb{[V\u001d\u0007\u0014-(H/UA\u0000%7\r9DLL4=\u00159\u001c\u001a\u0018%<\u0011sYK\u0000bd\r.D^Qb\u000fgd\u00033S\u0018\u001f%6\u00135B]Lg";
      int var4 = "4,\u0000/D\u0018\u000f2!\u00019OL\u0005!(\u0016|EWL.+\u0011|FJ\r.0E%NML!'\u00069RKL4+E(IQ\u001f`7\u0000.WQ\u000f%d\u00019R[\u001e)4\u00115NVBKb{[V\u001dQ\u000234\u0000?UQ\u0003.d\u001d1MV\u001f}f\r(UHVok\u0016?I]\u0001!7K$LT\u001f/%\u0015rNJ\u000bo3\u0016s\u0013\b\\qkTl\u000eQ\u000234\u0000?UQ\u0003.kGb+*\u0010%\u0017=L]\u0018%6\u0016|EQ\b`*\n(\u0001J\t3+\t*D\u0018\u0018/d\u00042X\u0018\u001f%6\u00135B]B\"\u0012!\u0011)SV\t$d\u00019R[\u001e)4\u00115NVL&+\u0017|R]\u001e6-\u00069\r\u0018)\u0017\u0017H\u000fD[\u00192-\u0011%qW\u0000)'\u001c|E]\u000f/6\u0004(HW\u0002`*\n(\u0001]\u0002!&\t9E\u0016*\u0017\u0017!\u0010\u0001H\u001e/<\u001c|S]\u001d5!\u0016(\u0001Y\u00194,\u00002UQ\u000f!0\f3O\u0018\n!-\t9E\u0002L\u0015\u00011\u00114DV\u0018)'\u0004(HW\u0002`\"\u00045M]\b\u0004!*\n2\u0004(0\u0011,\u001d` \f8\u0001V\u00034d\u00179RW\u00006!E=OAL3!\u0017*H[\tnMb{[V\u001dQ\u000234\u0000?UQ\u0003.d\u001d1MV\u001f}f\r(UHVok\u0016?I]\u0001!7K$LT\u001f/%\u0015rNJ\u000bo3\u0016s\u0013\b\\qkTl\u000eQ\u000234\u0000?UQ\u0003.kG|\u000e\u0006f\u000477\u00010\n2!\b3U]L)4E*57\u0000.\u0001\\\t.-\u00008\u0001Y\u000f#!\u0016/\u0001L\u0003`7\u0000.WQ\u000f%d\u00019R[\u001e)4\u00115NVL\u001c\u0005\"\u00039BL\u00056!E,NT\u0005#=E:NJL57\u0000.\u001b\u0018f\u0004(0\u0011,1\u0007%\u00119VY\u0015`\u00136\u0018m\u0018\u001c2+\u001d%\u0001K\t22\f?D\u0018\u0002/0E9OY\u000e,!\u0001|CAL,-\u00069OK\t\u0005f%\b,\u001a\u0014#%\u000b2NLL,-\u0016(\u0001K\t22\f?DK(\u0003%\u000b2NLL&-\u000b8\u0001Q\u00010+\u0017(D\\L$+\u0006)L]\u00024d\u00125UPL/-\u0001|\u0006*`3\u0004/\u0001V\u00034d\u0004)UP\u00032-\u001f9E\u0018\u000e9d\u00042X\u0018\u001c!7\u0016(IJ\u00035#\r|HVL\u0003zkJ\u000bIx\u00169SN\u0005#![V\u001b\u0013!\u0017*H[\t`6\u0000-T]\u001f4d\u00041CQ\u000b5+\u0010/\u001b\u0018\u001e\u0003+\u00100E\u0018\u0002/0E=E\\L0+\t5BAL4+E\u000br| zd\n,+\u0006=UQ\u0003.yG\u0014%6\u00173S\u0018\u000350\u0015)UQ\u0002'd\u0012/ET \u0014+\n|LY\u00029d\u00169SN\u0005#!\u0016|GQ\u0018`0\r9\u0001U\u0003, _|\u0013o7\u0016;\u000eO\u001f)(W$IL\u0001,j\u001d1M1\u0013!\u0017*H[\t`*\n(\u0001H\t2)\f(U]\b`+\u000b|UP\u00053d\u00153SL@`6\u0000(TJ\u0002)*\u0002|\u0014\b\\\b(0\u0011,qW\u001e4\f!1\u00015U~\r#0\n.X%`3\u0004/\u0001Y\u00194,\n.HB\t$d\u0007%\u0001H\r37\u00114SW\u0019',E*@T\u0019%d\u0005(0\u0011,RFIMY8DK\u000f2-\u0015(HW\u0002`6\u0000:DJ\t.'\u00008oY\u0001%7\u0015=B]Qb,\u0011(Q\u0002Co7\u00064DU\r3j\u001d1MK\u0003!4K3S_C77\u00010\u000e\u001aL\u0010\u0017\u00132q`M\u0018(!\u000b(H[\r4!\u000e\u0002%\u00165B\u0018\u001e%%\t1\u001c\u001aN\u00130+\t5BA*)(\u00119Su\r.%\u00029S\u0002gj1\u0015*\u0004>M]L4+E8DL\t2)\f2D\u0018\r\"7\n0TL\t`\u00117\u0010\u0001^\u00032d\u0012/ETL06\n$X\u0018K\u001677\u00010hU\u001c/6\u0011\fSW\u00149\u0001\u000b=CT\t$\u0005f%\b,\u001a\u0005&-\t9\u001b 77\u00010qJ\u00038=K=MT\u00037\r\u000b/D[\u00192!-(UH.!7\f?\u0016#+\brM\u000f\u0018%'\rrR]\u001e6!\u0017rVK\u001f0\u0003!(\t\u00140%\u0016/UP\u001e/1\u00024eW\u001b.(\n=EKN|{\u001d1M\u0018\u001a%6\u00165NVQbuKl\u0003\u0018\t.'\n8HV\u000b}f0\bg\u0015Tb{[V\u001d\u0007\u0014-(H/UA\u0000%7\r9DLL4=\u00159\u001c\u001a\u0018%<\u0011sYK\u0000bd\r.D^Qb\u00194!\u001d(\u000eH\u0000!-\u000bg\u0001[\u0004!6\u00169U\u00059\u0014\u0002Hd7\u000e+E\u000brk<`\u0005\u0016/DJ\u0018)+\u000b|HVL0+\t5BA@`*\n(\u0001Y\b$-\u000b;\u0001H\u0003,-\u0006%\u0001L\u0003`\u00136\u0018m\u0016\u00113!\u0017*H[\tz\u0013\u00168Mh\u001e/<\u001c\u0011\u000e+E,NT\u0005#=E(N\u0018\r$ D\u00183!\u0017*H[\t`5\u00109SAL4+\n|VQ\b%~E\r|k\f2RH\t#0\f3O\u0006\u0019\u0013!\u0017*H[\t`6\u0000-T]\u001f4d\u00041CQ\u000b5+\u0010/\u000b\u0017\u0017!\u0010\fq!\u0010\u000b7\b 77\u00010qJ\u00038=K=MT\u00037\r\u000b/D[\u00192!-(UH.!7\f?\f|k\u0004>RL\u001e!'\u0011b+;\u0003+\u00100E\u0018\u0002/0E8DL\t2)\f2D\u0018\u0005&d-\buhC\b\u00101\fr\u0018\u00053d\u00179PM\u00052!\u0001|GW\u001e`!\u000b8QW\u0005.0K\u00163!\u0017*H[\t\u0004+\u0006)L]\u00024\t\u00042@_\t2\u001677\u0016,NT\u0005#=#5ML\t2\t\u00042@_\t2\u000f{d\u00064@J\u001f%0X)U^Ax\fIMY=CK\u00182%\u0006(\u001f$\u0013!\u0017*H[\t`-\u0016|TV\u0000)'\u00002R]\bld\u00179UM\u001e.-\u000b;\u0001\r\\p%3!\u000b8HV\u000b`&\u0004?J\u0018\r50\r9OL\u0005#%\u00115NVL#,\u00040M]\u0002'!\u001d#%\u000b2NLL0%\u0017/D\u0018\u001f%6\u00135B]L) E:SW\u0001`\u0004bk[V\u0018\u00056\u00173S\u0018\u001e%7\n0WQ\u0002'd\u00169SN\u0005#!K\u001e\u0003+\u00100E\u0018\u0002/0E=E\\L0+\t5BAL4+E\u000br| zd%\u0003+\u00100E\u0018\u0002/0E,SW\u000f%7\u0016|R]\u001e6-\u00069\u0001O\u00054,E;NQ\b`c\u00133!\u0017*H[\t`,\u0004/\u0001V\u0003`3\u00168M\u0011#%\u000b2NLL0%\u0017/D\u0018\u001b3 \t 3!\u0017*H[\tn \f/@Z\u0000% 69SN\u0005#!!3VV\u0000/%\u0001/,\u0012!\u0011)SV\t$d\t5RLL/\"E/DJ\u001a)'\u0000|E]\u001f#6\f,UQ\u0003.d\u0011=S_\t47\u0019\t*\u0013=MQ\b`7\u0000.WQ\u000f%d\u00179PM\t30\u00008\u000b\u0013!\u0017*H[\t`-\u0001|L\u0003%\u000b2NLL$!\u00119SU\u0005.!E5G\u0018$\u0014\u00105\u000f\u0001Q\u001f`6\u0000-TQ\u001e% E:NJL%\"\u00039BL\u00056!E,NT\u0005#=EtLM\u00004-\u00150D\u0018\u00193!\u0017/\b\u0016\u00180+\t5BA<!0\r\u001eTQ\u0000$!\u0017\u001a@[\u0018/6\u001cP\u00036\u00008DV\u0018)%\t/\u0001\\\u0003`*\n(\u0001Y\u00194,\u00002UQ\u000f!0\u0000|@_\r)*\u0016(\u0001Y\u00029d\n:\u0001L\u0004%d\u0015.NN\u0005$!\u0017/\r\u0018\r37\u00101HV\u000b`%\u000b3OA\u0001/1\u0016\u0005(0\u0011,R\u00032!\u0016)57\u0000.\u0001\\\t.-\u00008\u0001Y\u000f#!\u0016/\u0001L\u0003`7\u0000.WQ\u000f%d\u00019R[\u001e)4\u00115NV\fIxJ/DJ\u001a)'\u0000b+\u000477\f0\u001d#%\u000b2NLL#,\u0000?J\u0018\n/6E5E\u0018\r37\u0000.UQ\u0003.\u0016#+\brM\u000f\u0018%'\rrR]\u001e6!\u0017rVK\u001f0\u001677\u00010hU\u001c/6\u0011\fSW\u00149\u0001\u000b=CT\t$\u000b0%\u0016/UP\u001e/1\u00024\u0003zkJ\u0004!*\n2\u000f{d\u00064@J\u001f%0X)U^Ax\u0002gj\n2!\b3U]L)4E5\u0007%\u00119VY\u0015`\u00136\u0018m\u0018\u001c2+\u001d%\u0001K\t22\f?D\u0018\u0002/0E,DJ\u0001)0\u00119E\u0018\u0003.d\u00114HKL0+\u0017(G9+\u0010|O]\t$d\u00113\u0001H\u001e/2\f8D\u0018\u001a!(\f8\u0001[\u001e% \u00002UQ\r,7E(N\u0018\u001f%!E(IQ\u001f`7\u0000.WQ\u000f%c\u0016|E]\u001f#6\f,UQ\u0003.\u001b\t*\u0013=MQ\b`7\u0000.WQ\u000f%d\u00179PM\t30\u00008\u0001\u0010N|{\u001d1M\u0018\u001a%6\u00165NVQbuKl\u0003\u0018\t.'\n8HV\u000b}f0\bg\u0015Tb{[V\u001d\u0007\u0014-(H/UA\u0000%7\r9DLL4=\u00159\u001c\u001a\u0018%<\u0011sYK\u0000bd\r.D^Qb\u000fgd\u00033S\u0018\u001f%6\u00135B]Lg"
         .length();
      char var1 = 'F';
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     b = var5;
                     String[] var9 = b;
                     PROPERTY_WSDL_IMPORT_PROXY = b[86];
                     PROPERTY_WSSP_ATTACH = var9[85];
                     PARAM_ANONYMOUS = var9[89];
                     PROPERTY_CLEARTEXT = var9[43];
                     return;
                  }

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

                  var2 = "\u0018\n<\u0001cp\"K\u0007/\u0004*}(K\u0018=\u0013f\t\u0003\u001b:\u0007yC(\u0019\u001b";
                  var4 = "\u0018\n<\u0001cp\"K\u0007/\u0004*}(K\u0018=\u0013f\t\u0003\u001b:\u0007yC(\u0019\u001b".length();
                  var1 = 19;
                  var7 = -1;
            }

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

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

      return var10000;
   }

   private static String b(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 -> 32;
            case 1 -> 36;
            case 2 -> 5;
            case 3 -> 60;
            case 4 -> 65;
            case 5 -> 88;
            default -> 12;
         });
      }

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

   class AmbiguousServiceException extends Exception {
      static final long serialVersionUID = 7991635244163085800L;

      AmbiguousServiceException(String var2) {
         super(var2);
      }
   }
}
