package com.l7tech.message;

import com.l7tech.common.mime.NoSuchPartException;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.xml.ElementCursor;
import com.l7tech.xml.SoapFaultDetail;
import com.l7tech.xml.soap.SoapUtil;
import com.l7tech.xml.soap.SoapVersion;
import java.io.IOException;
import java.util.List;
import javax.xml.namespace.QName;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

class g extends c {
   private SoapFaultDetail c = null;
   private SoapInfo d;
   private String e;
   private SoapVersion f;
   private static final QName[] g = new QName[0];
   private static final String h;

   public g(Message var1, c var2, SoapInfo var3) {
      super(var1, var2);
      if (var3 == null) {
         throw new NullPointerException();
      }

      this.d = var3;
   }

   static SoapInfo a(Message var0) throws IOException, SAXException {
      HasSoapAction var1 = var0.getKnob(HasSoapAction.class);

      String var10000;
      label17: {
         try {
            if (var1 == null) {
               var10000 = null;
               break label17;
            }
         } catch (IOException var3) {
            throw a(var3);
         }

         var10000 = var1.getSoapAction();
      }

      String var2 = var10000;
      return a(var0.getXmlKnob().getDocumentReadOnly(), var2);
   }

   private static SoapInfo a(Document var0, String var1) throws SAXException {
      boolean var2 = false;
      if (SoapUtil.isSoapMessage(var0)) {
         try {
            List var4 = SoapUtil.getSecurityElements(var0);

            label37: {
               try {
                  if (var4 == null || var4.isEmpty()) {
                     break label37;
                  }
               } catch (InvalidDocumentFormatException var6) {
                  throw a(var6);
               }

               var2 = true;
            }

            QName[] var3 = SoapUtil.getPayloadNames(var0);

            SoapInfo var10000;
            SoapInfo var10001;
            boolean var10002;
            String var10003;
            QName[] var10004;
            label29: {
               try {
                  var10000 = new SoapInfo;
                  var10001 = var10000;
                  var10002 = true;
                  var10003 = var1;
                  if (var3 != null) {
                     var10004 = var3;
                     break label29;
                  }
               } catch (InvalidDocumentFormatException var5) {
                  throw a(var5);
               }

               var10004 = g;
            }

            var10001./* $VF: Unable to resugar constructor */<init>(var10002, var10003, var10004, var2, var0.getDocumentElement().getNamespaceURI());
            return var10000;
         } catch (InvalidDocumentFormatException var7) {
            throw new SAXException(var7);
         }
      } else {
         return new SoapInfo(false, var1, g, false, null);
      }
   }

   @Override
   public MessageKnob getKnob(Class var1) {
      try {
         if (var1 == SoapKnob.class) {
            return new i(this);
         }
      } catch (NullPointerException var2) {
         throw a(var2);
      }

      return super.getKnob(var1);
   }

   private void a() throws IOException, SAXException {
      XmlKnob var1 = (XmlKnob)this.getKnob(XmlKnob.class);

      try {
         if (var1 == null) {
            throw new IllegalStateException(h);
         }
      } catch (IOException var3) {
         throw a(var3);
      }

      ElementCursor var2 = var1.getElementCursor().duplicate();
      var2.moveToDocumentElement();
      this.e = var2.getNamespaceUri();
      this.f = SoapVersion.namespaceToSoapVersion(this.e);
   }

   private SoapInfo b() throws NoSuchPartException, IOException, SAXException {
      try {
         if (this.d == null) {
            this.d = a(this.getMessage());
         }
      } catch (NoSuchPartException var1) {
         throw a(var1);
      }

      return this.d;
   }

   static {
      String var10002 = b(71, b("\u0010q%k\u0006/n!>4i(2d-jdt#al&m7z*$!4w0sm/ncF)w\u0006/n!"));
      byte var10001 = -1;
      h = var10002;
   }

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

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

      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 -> 4;
            case 1 -> 89;
            case 2 -> 3;
            case 3 -> 92;
            case 4 -> 10;
            case 5 -> 6;
            default -> 70;
         });
      }

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