package com.l7tech.policy.wssp;

import com.l7tech.common.io.XmlUtil;
import com.l7tech.policy.assertion.Assertion;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.SslAssertion;
import com.l7tech.policy.assertion.XpathBasedAssertion;
import com.l7tech.policy.assertion.composite.AllAssertion;
import com.l7tech.policy.assertion.credential.http.HttpBasic;
import com.l7tech.policy.assertion.credential.http.HttpDigest;
import com.l7tech.policy.assertion.credential.wss.EncryptedUsernameTokenAssertion;
import com.l7tech.policy.assertion.credential.wss.WssBasic;
import com.l7tech.policy.assertion.credential.wss.WssDigest;
import com.l7tech.policy.assertion.xmlsec.AddWssTimestamp;
import com.l7tech.policy.assertion.xmlsec.RequireWssEncryptedElement;
import com.l7tech.policy.assertion.xmlsec.RequireWssSignedElement;
import com.l7tech.policy.assertion.xmlsec.RequireWssTimestamp;
import com.l7tech.policy.assertion.xmlsec.RequireWssX509Cert;
import com.l7tech.policy.assertion.xmlsec.SecureConversation;
import com.l7tech.policy.assertion.xmlsec.WssEncryptElement;
import com.l7tech.policy.assertion.xmlsec.WssSignElement;
import com.l7tech.util.Charsets;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.DomUtils;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.util.PoolByteArrayOutputStream;
import com.l7tech.util.ResourceUtils;
import com.l7tech.xml.soap.SoapUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.xml.namespace.QName;
import org.apache.ws.policy.Policy;
import org.apache.ws.policy.PrimitiveAssertion;
import org.apache.ws.policy.util.PolicyFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class WsspWriter {
   private static final Logger a;
   private static final int b = 1;
   private static final int c = 2;
   private static final int d = 3;
   private static final int e = 4;
   private static final int f = 5;
   private static final int g = 6;
   private static final int h = 7;
   private static final int i = 8;
   private static final String j;
   private static final String k;
   private static final String l;
   private static final String m;
   private static final String n;
   public static final String WSP12_NS;
   public static final String WSP15_NS;
   private static final String o;
   private static final String p;
   private static final String q;
   public static final String WSP_NS;
   public static final String SP_NS;
   private static final String[][] r;
   private static final String s;
   private static final String t;
   private static final String u;
   private static final String v;
   private static final String w;
   private static final String x;
   private static final String y;
   private static final String z;
   private static final String A;
   private static final String B;
   private static final String C;
   private static final String D;
   private static final String E;
   private static final String F;
   private static final String G;
   private static final String H;
   private static final String I;
   private static final String J;
   private static final String K;
   private static final String L;
   private static final String M;
   private static final String N;
   private static final String O;
   private static final String P;
   private static final String Q;
   private static final String R;
   private static final String S;
   private static final String T;
   private static final String U;
   private static final String V;
   private static final String W;
   private static final String X;
   private static final String Y;
   private static final String Z;
   private static final String aa;
   private static final String ab;
   private static final String ac;
   private static final String ad;
   private static final String ae;
   private static final String af;
   private static final String ag;
   private static final String ah;
   private static final String ai;
   private static final String aj;
   private static final String ak;
   private static final String al;
   private static final String am;
   private static final Pattern an;
   private static final Pattern ao;
   private static final Collection<Class<? extends Assertion>> ap;
   private static final Collection<Class<? extends Assertion>> aq;
   private static final Collection<Class<? extends Assertion>> ar;
   private static final Collection as;
   private static final String[] bb;

   public static void decorate(Document var0, Assertion var1, boolean var2, String var3, String var4, String var5) throws PolicyAssertionException, SAXException, InvalidDocumentFormatException {
      a(var0.getDocumentElement());
      WsspWriter var6 = new WsspWriter();
      String var7;
      Element var8;
      if (var3 == null) {
         Policy var9 = var6.convertFromLayer7(var1, var2);
         String[] var20 = bb;
         var9.setId(SoapUtil.generateUniqueId(var20[81], 1));
         var8 = a(var0, var9);
         var7 = var9.getId();
      } else {
         var8 = b(var0, var3);
         var7 = SoapUtil.getOrCreateElementWsuId(var8);
      }

      Element var10;
      String var25;
      if (var4 == null) {
         Policy var11 = var6.convertFromLayer7(var1, var2, true);
         String[] var32 = bb;
         var11.setId(SoapUtil.generateUniqueId(var32[49], 2));
         var10 = a(var0, var11);
         var25 = var11.getId();
      } else {
         var10 = b(var0, var4);
         var25 = SoapUtil.getOrCreateElementWsuId(var10);
      }

      Element var12;
      String var26;
      if (var5 == null) {
         Policy var13 = var6.convertFromLayer7(var1, var2, false);
         String[] var33 = bb;
         var13.setId(SoapUtil.generateUniqueId(var33[49], 3));
         var12 = a(var0, var13);
         var26 = var13.getId();
      } else {
         var12 = b(var0, var5);
         var26 = SoapUtil.getOrCreateElementWsuId(var12);
      }

      Element var27 = var0.getDocumentElement();

      try {
         if (var12.hasChildNodes()) {
            var27.insertBefore(var12, var27.getFirstChild());
         }
      } catch (SAXException var23) {
         throw a(var23);
      }

      try {
         if (var10.hasChildNodes()) {
            var27.insertBefore(var10, var27.getFirstChild());
         }
      } catch (SAXException var24) {
         throw a(var24);
      }

      var27.insertBefore(var8, var27.getFirstChild());
      String[] var34 = bb;
      NodeList var14 = var0.getElementsByTagNameNS(var34[100], var34[133]);

      for (int var15 = 0; var15 < var14.getLength(); var15++) {
         Element var16 = (Element)var14.item(var15);
         var16.insertBefore(a(var0, var7), var16.getFirstChild());
         if (var10.hasChildNodes()) {
            var34 = bb;
            NodeList var17 = var16.getElementsByTagNameNS(var34[145], var34[39]);

            for (int var18 = 0; var18 < var17.getLength(); var18++) {
               Element var19 = (Element)var17.item(var18);
               var19.insertBefore(a(var0, var25), var19.getFirstChild());
            }
         }

         if (var12.hasChildNodes()) {
            var34 = bb;
            NodeList var29 = var16.getElementsByTagNameNS(var34[145], var34[20]);

            for (int var30 = 0; var30 < var29.getLength(); var30++) {
               Element var31 = (Element)var29.item(var30);
               var31.insertBefore(a(var0, var26), var31.getFirstChild());
            }
         }
      }

      var0.normalize();

      try {
         DomUtils.stripWhitespace(var0.getDocumentElement());
      } catch (SAXException var22) {
         SAXException var28 = var22;

         try {
            if (a.isLoggable(Level.FINE)) {
               a.log(Level.FINE, bb[2], ExceptionUtils.getDebugException(var28));
            }
         } catch (SAXException var21) {
            throw a(var21);
         }
      }

      XmlUtil.format(var0, true);
   }

   public Policy convertFromLayer7(Assertion var1, boolean var2) throws PolicyAssertionException {
      try {
         if (!(var1 instanceof AllAssertion)) {
            throw new IllegalArgumentException(bb[27]);
         }
      } catch (PolicyAssertionException var10) {
         throw a(var10);
      }

      AllAssertion var3 = (AllAssertion)var1;
      List var4 = var3.getChildren();
      this.a(var4);
      int var5 = this.f(var4);
      Policy var6 = new Policy();

      label35: {
         try {
            if (this.b(var4)) {
               this.a(var6, var5, var2, var4);
               break label35;
            }
         } catch (PolicyAssertionException var9) {
            throw a(var9);
         }

         try {
            if (this.c(var4)) {
               this.a(var6, var5, var2);
            }
         } catch (PolicyAssertionException var8) {
            throw a(var8);
         }
      }

      try {
         if (this.d(var4)) {
            this.b(var6, var5, var2, var4);
         }

         return var6;
      } catch (PolicyAssertionException var7) {
         throw a(var7);
      }
   }

   private void a(org.apache.ws.policy.Assertion var1, boolean var2, boolean var3, boolean var4) {
      String var10000;
      label16: {
         try {
            if (var2) {
               var10000 = bb[65];
               break label16;
            }
         } catch (IllegalArgumentException var8) {
            throw a(var8);
         }

         var10000 = bb[77];
      }

      String var5 = var10000;
      PrimitiveAssertion var6 = this.b(var5);
      Policy var7 = new Policy();
      var6.addTerm(var7);
      var7.addTerm(this.a(var3, var4));
      var1.addTerm(var6);
   }

   public Policy convertFromLayer7(Assertion var1, boolean var2, boolean var3) throws PolicyAssertionException {
      try {
         if (!(var1 instanceof AllAssertion)) {
            throw new IllegalArgumentException(bb[21]);
         }
      } catch (PolicyAssertionException var11) {
         throw a(var11);
      }

      AllAssertion var4 = (AllAssertion)var1;
      List var5 = var4.getChildren();
      this.a(var5);
      Policy var6 = new Policy();
      Collection var7;
      Collection var8;
      if (var3) {
         var7 = this.d(var5, RequireWssEncryptedElement.class);
         var8 = this.d(var5, RequireWssSignedElement.class);
      } else {
         var7 = this.d(var5, WssEncryptElement.class);
         var8 = this.d(var5, WssSignElement.class);
      }

      if (!var7.isEmpty()) {
         String[] var10 = bb;
         PrimitiveAssertion var9 = this.b(var10[96]);
         this.a(var9, var7);
         var6.addTerm(var9);
      }

      if (!var8.isEmpty()) {
         PrimitiveAssertion var12 = this.b(bb[29]);
         this.a(var12, var8);
         var6.addTerm(var12);
      }

      return var6;
   }

   private void a(Collection<Assertion> var1) throws PolicyAssertionException {
      boolean var2 = false;
      boolean var3 = false;

      for (Assertion var5 : var1) {
         try {
            if (!this.b(var5)) {
               throw new PolicyAssertionException(var5, bb[55] + var5);
            }
         } catch (PolicyAssertionException var7) {
            throw a(var7);
         }

         if (this.c(var5)) {
            var3 = true;
            this.g(this.d(var1, RequireWssEncryptedElement.class));
            this.g(this.d(var1, WssEncryptElement.class));
            this.g(this.d(var1, RequireWssSignedElement.class));
            this.g(this.d(var1, WssSignElement.class));
         } else if (var5 instanceof SslAssertion var6 && var6.isRequireClientAuthentication()) {
            var2 = true;
         }
      }
   }

   private boolean b(Collection<Assertion> var1) {
      for (Assertion var3 : var1) {
         try {
            if (this.a(var3)) {
               return true;
            }
         } catch (IllegalArgumentException var4) {
            throw a(var4);
         }
      }

      return false;
   }

   private boolean a(Assertion var1) {
      return this.a(aq, var1.getClass());
   }

   private boolean c(Collection<Assertion> var1) {
      boolean var2 = false;

      for (Assertion var4 : var1) {
         if (this.c(var4)) {
            var2 = true;
         }
      }

      return var2;
   }

   private boolean d(Collection<Assertion> var1) {
      for (Assertion var3 : var1) {
         try {
            if (this.d(var3)) {
               return true;
            }
         } catch (IllegalArgumentException var4) {
            throw a(var4);
         }
      }

      return false;
   }

   private boolean e(Collection<Assertion> var1) {
      for (Assertion var3 : var1) {
         if (var3 instanceof SslAssertion var4) {
            try {
               if (SslAssertion.REQUIRED == var4.getOption()) {
                  return true;
               }
            } catch (IllegalArgumentException var5) {
               throw a(var5);
            }
         }
      }

      return false;
   }

   private int f(Collection<Assertion> param1) throws PolicyAssertionException {
      // $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: aconst_null
      // 001: astore 2
      // 002: aload 1
      // 003: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 008: astore 3
      // 009: aload 3
      // 00a: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 00f: ifeq 15d
      // 012: aload 3
      // 013: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 018: checkcast com/l7tech/policy/assertion/Assertion
      // 01b: astore 4
      // 01d: aconst_null
      // 01e: astore 5
      // 020: aconst_null
      // 021: astore 6
      // 023: aload 4
      // 025: instanceof com/l7tech/policy/assertion/xmlsec/RequireWssEncryptedElement
      // 028: ifeq 043
      // 02b: aload 4
      // 02d: checkcast com/l7tech/policy/assertion/xmlsec/RequireWssEncryptedElement
      // 030: astore 7
      // 032: aload 7
      // 034: invokevirtual com/l7tech/policy/assertion/xmlsec/RequireWssEncryptedElement.getXEncAlgorithm ()Ljava/lang/String;
      // 037: astore 5
      // 039: aload 7
      // 03b: invokevirtual com/l7tech/policy/assertion/xmlsec/RequireWssEncryptedElement.getKeyEncryptionAlgorithm ()Ljava/lang/String;
      // 03e: astore 6
      // 040: goto 060
      // 043: aload 4
      // 045: instanceof com/l7tech/policy/assertion/xmlsec/WssEncryptElement
      // 048: ifeq 060
      // 04b: aload 4
      // 04d: checkcast com/l7tech/policy/assertion/xmlsec/WssEncryptElement
      // 050: astore 7
      // 052: aload 7
      // 054: invokevirtual com/l7tech/policy/assertion/xmlsec/WssEncryptElement.getXEncAlgorithm ()Ljava/lang/String;
      // 057: astore 5
      // 059: aload 7
      // 05b: invokevirtual com/l7tech/policy/assertion/xmlsec/WssEncryptElement.getKeyEncryptionAlgorithm ()Ljava/lang/String;
      // 05e: astore 6
      // 060: aload 5
      // 062: ifnull 15a
      // 065: bipush 1
      // 066: istore 7
      // 068: aload 6
      // 06a: ifnull 07f
      // 06d: getstatic com/l7tech/util/SoapConstants.SUPPORTED_ENCRYPTEDKEY_ALGO Ljava/lang/String;
      // 070: aload 6
      // 072: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 075: ifeq 087
      // 078: goto 07f
      // 07b: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07e: athrow
      // 07f: bipush 1
      // 080: goto 088
      // 083: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 086: athrow
      // 087: bipush 0
      // 088: istore 8
      // 08a: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 08d: sipush 144
      // 090: aaload
      // 091: aload 5
      // 093: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 096: ifeq 0b3
      // 099: iload 8
      // 09b: ifeq 0ad
      // 09e: goto 0a5
      // 0a1: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a4: athrow
      // 0a5: bipush 1
      // 0a6: goto 0ae
      // 0a9: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ac: athrow
      // 0ad: bipush 5
      // 0ae: istore 7
      // 0b0: goto 12d
      // 0b3: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 0b6: sipush 146
      // 0b9: aaload
      // 0ba: aload 5
      // 0bc: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0bf: ifeq 0dd
      // 0c2: iload 8
      // 0c4: ifeq 0d6
      // 0c7: goto 0ce
      // 0ca: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0cd: athrow
      // 0ce: bipush 2
      // 0cf: goto 0d8
      // 0d2: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d5: athrow
      // 0d6: bipush 6
      // 0d8: istore 7
      // 0da: goto 12d
      // 0dd: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 0e0: bipush 43
      // 0e2: aaload
      // 0e3: aload 5
      // 0e5: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0e8: ifeq 106
      // 0eb: iload 8
      // 0ed: ifeq 0ff
      // 0f0: goto 0f7
      // 0f3: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f6: athrow
      // 0f7: bipush 3
      // 0f8: goto 101
      // 0fb: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fe: athrow
      // 0ff: bipush 7
      // 101: istore 7
      // 103: goto 12d
      // 106: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 109: sipush 138
      // 10c: aaload
      // 10d: aload 5
      // 10f: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 112: ifeq 12d
      // 115: iload 8
      // 117: ifeq 129
      // 11a: goto 121
      // 11d: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 120: athrow
      // 121: bipush 4
      // 122: goto 12b
      // 125: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 128: athrow
      // 129: bipush 8
      // 12b: istore 7
      // 12d: aload 2
      // 12e: ifnull 154
      // 131: aload 2
      // 132: invokevirtual java/lang/Integer.intValue ()I
      // 135: iload 7
      // 137: if_icmpeq 154
      // 13a: goto 141
      // 13d: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 140: athrow
      // 141: new com/l7tech/policy/assertion/PolicyAssertionException
      // 144: dup
      // 145: aconst_null
      // 146: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 149: bipush 71
      // 14b: aaload
      // 14c: invokespecial com/l7tech/policy/assertion/PolicyAssertionException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 14f: athrow
      // 150: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 153: athrow
      // 154: iload 7
      // 156: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 159: astore 2
      // 15a: goto 009
      // 15d: aload 2
      // 15e: ifnonnull 166
      // 161: bipush 3
      // 162: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 165: astore 2
      // 166: aload 2
      // 167: invokevirtual java/lang/Integer.intValue ()I
      // 16a: ireturn
      // try (45 -> 51): 52 com/l7tech/policy/assertion/PolicyAssertionException
      // try (47 -> 56): 56 com/l7tech/policy/assertion/PolicyAssertionException
      // try (60 -> 68): 69 com/l7tech/policy/assertion/PolicyAssertionException
      // try (66 -> 73): 73 com/l7tech/policy/assertion/PolicyAssertionException
      // try (78 -> 86): 87 com/l7tech/policy/assertion/PolicyAssertionException
      // try (84 -> 91): 91 com/l7tech/policy/assertion/PolicyAssertionException
      // try (96 -> 104): 105 com/l7tech/policy/assertion/PolicyAssertionException
      // try (102 -> 109): 109 com/l7tech/policy/assertion/PolicyAssertionException
      // try (114 -> 122): 123 com/l7tech/policy/assertion/PolicyAssertionException
      // try (120 -> 127): 127 com/l7tech/policy/assertion/PolicyAssertionException
      // try (131 -> 137): 138 com/l7tech/policy/assertion/PolicyAssertionException
      // try (133 -> 148): 148 com/l7tech/policy/assertion/PolicyAssertionException
   }

   private org.apache.ws.policy.Assertion a() {
      String[] var6 = bb;
      QName var1 = this.a(var6[102]);
      QName var2 = this.a(var6[129]);
      PrimitiveAssertion var3 = new PrimitiveAssertion(var1);
      PrimitiveAssertion var4 = new PrimitiveAssertion(var2);
      Policy var5 = new Policy();
      var5.addTerm(var4);
      var3.addTerm(var5);
      return var3;
   }

   private org.apache.ws.policy.Assertion a(int var1) {
      String[] var8 = bb;
      QName var2 = this.a(var8[35]);
      String var3 = null;
      switch (var1) {
         case 1:
            var8 = bb;
            var3 = var8[84];
            break;
         case 2:
            var8 = bb;
            var3 = var8[40];
            break;
         case 3:
            var8 = bb;
            var3 = var8[147];
            break;
         case 4:
            var8 = bb;
            var3 = var8[66];
            break;
         case 5:
            var8 = bb;
            var3 = var8[50];
            break;
         case 6:
            var8 = bb;
            var3 = var8[83];
            break;
         case 7:
            var8 = bb;
            var3 = var8[7];
            break;
         case 8:
            var3 = bb[5];
      }

      QName var4 = this.a(var3);
      PrimitiveAssertion var5 = new PrimitiveAssertion(var2);
      PrimitiveAssertion var6 = new PrimitiveAssertion(var4);
      Policy var7 = new Policy();
      var7.addTerm(var6);
      var5.addTerm(var7);
      return var5;
   }

   private org.apache.ws.policy.Assertion a(boolean var1) {
      String[] var5 = bb;
      PrimitiveAssertion var2 = this.b(var5[14]);
      Policy var3 = new Policy();
      var2.addTerm(var3);
      PrimitiveAssertion var4 = this.b(var5[25]);
      var4.addAttribute(new QName(var5[139]), Boolean.toString(var1));
      var3.addTerm(var4);
      return var2;
   }

   private org.apache.ws.policy.Assertion a(String var1, String var2, String var3) {
      PrimitiveAssertion var4 = this.b(var1);
      Policy var5 = new Policy();
      var4.addTerm(var5);
      String[] var8 = bb;
      PrimitiveAssertion var6 = this.b(var8[103]);
      var6.addAttribute(this.a(var8[37]), var3);
      Policy var7 = new Policy();
      var6.addTerm(var7);
      var7.addTerm(this.b(var2));
      var5.addTerm(var6);
      return var4;
   }

   private QName a(String var1) {
      return this.b(SP_NS, var1, bb[121]);
   }

   private QName b(String var1, String var2, String var3) {
      return new QName(var1, var2, var3);
   }

   private org.apache.ws.policy.Assertion a(boolean var1, boolean var2) {
      String[] var5 = bb;
      PrimitiveAssertion var3 = this.b(var5[57]);
      var3.addAttribute(this.a(var5[94]), var5[108]);
      Policy var4 = new Policy();

      try {
         if (var1) {
            var4.addTerm(this.b(var5[106]));
         }
      } catch (IllegalArgumentException var6) {
         throw a(var6);
      }

      Policy var10000;
      WsspWriter var10001;
      String var10002;
      label25: {
         try {
            var10000 = var4;
            var10001 = this;
            if (var2) {
               var10002 = bb[113];
               break label25;
            }
         } catch (IllegalArgumentException var7) {
            throw a(var7);
         }

         var10002 = bb[126];
      }

      var10000.addTerm(var10001.b(var10002));
      var3.addTerm(var4);
      return var3;
   }

   private org.apache.ws.policy.Assertion b() {
      String[] var3 = bb;
      PrimitiveAssertion var1 = this.b(var3[42]);
      Policy var2 = new Policy();
      var1.addTerm(var2);
      var2.addTerm(this.b(var3[92]));
      var2.addTerm(this.b(var3[80]));
      return var1;
   }

   private org.apache.ws.policy.Assertion c() {
      String[] var3 = bb;
      PrimitiveAssertion var1 = this.b(var3[52]);
      Policy var2 = new Policy();
      var1.addTerm(var2);
      var2.addTerm(this.b(var3[118]));
      var2.addTerm(this.b(var3[136]));
      var2.addTerm(this.b(var3[64]));
      return var1;
   }

   private void a(org.apache.ws.policy.Assertion var1, int var2, boolean var3) {
      String[] var7 = bb;
      QName var4 = this.a(var7[99]);
      PrimitiveAssertion var5 = new PrimitiveAssertion(var4);
      Policy var6 = new Policy();

      Policy var10000;
      WsspWriter var10001;
      String var10002;
      String var10003;
      label41: {
         try {
            var5.addTerm(var6);
            var10000 = var6;
            var10001 = this;
            var10002 = var7[111];
            if (var3) {
               var10003 = var7[116];
               break label41;
            }
         } catch (IllegalArgumentException var10) {
            throw a(var10);
         }

         var7 = bb;
         var10003 = var7[125];
      }

      label34: {
         try {
            var10000.addTerm(var10001.a(var10002, var10003, bb[22]));
            var10000 = var6;
            var10001 = this;
            var10002 = bb[24];
            if (var3) {
               var10003 = bb[47];
               break label34;
            }
         } catch (IllegalArgumentException var9) {
            throw a(var9);
         }

         var7 = bb;
         var10003 = var7[0];
      }

      label27: {
         try {
            var10000.addTerm(var10001.a(var10002, var10003, bb[122]));
            var6.addTerm(this.a(var2));
            var6.addTerm(this.a());
            var6.addTerm(this.b(bb[48]));
            var6.addTerm(this.b(bb[130]));
            var1.addTerm(var5);
            var14 = var1;
            if (var3) {
               var16 = this.c();
               break label27;
            }
         } catch (IllegalArgumentException var8) {
            throw a(var8);
         }

         var16 = this.b();
      }

      var14.addTerm(var16);
   }

   private void a(org.apache.ws.policy.Assertion param1, int param2, boolean param3, Collection<Assertion> param4) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 04: astore 10
      // 06: aload 10
      // 08: bipush 38
      // 0a: aaload
      // 0b: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/String;)Ljavax/xml/namespace/QName;
      // 0e: astore 5
      // 10: new org/apache/ws/policy/PrimitiveAssertion
      // 13: dup
      // 14: aload 5
      // 16: invokespecial org/apache/ws/policy/PrimitiveAssertion.<init> (Ljavax/xml/namespace/QName;)V
      // 19: astore 6
      // 1b: new org/apache/ws/policy/Policy
      // 1e: dup
      // 1f: invokespecial org/apache/ws/policy/Policy.<init> ()V
      // 22: astore 7
      // 24: aload 6
      // 26: aload 7
      // 28: invokevirtual org/apache/ws/policy/PrimitiveAssertion.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 2b: bipush 0
      // 2c: istore 8
      // 2e: aload 0
      // 2f: aload 4
      // 31: ldc com/l7tech/policy/assertion/xmlsec/SecureConversation
      // 33: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // 36: ifeq 45
      // 39: bipush 1
      // 3a: istore 8
      // 3c: aload 7
      // 3e: aload 0
      // 3f: invokevirtual com/l7tech/policy/wssp/WsspWriter.d ()Lorg/apache/ws/policy/PrimitiveAssertion;
      // 42: invokevirtual org/apache/ws/policy/Policy.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 45: aload 7
      // 47: aload 0
      // 48: iload 2
      // 49: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (I)Lorg/apache/ws/policy/Assertion;
      // 4c: invokevirtual org/apache/ws/policy/Policy.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 4f: aload 7
      // 51: aload 0
      // 52: invokevirtual com/l7tech/policy/wssp/WsspWriter.a ()Lorg/apache/ws/policy/Assertion;
      // 55: invokevirtual org/apache/ws/policy/Policy.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 58: aload 0
      // 59: aload 4
      // 5b: ldc com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp
      // 5d: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // 60: ifne 75
      // 63: aload 0
      // 64: aload 4
      // 66: ldc com/l7tech/policy/assertion/xmlsec/AddWssTimestamp
      // 68: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // 6b: ifeq 8b
      // 6e: goto 75
      // 71: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 74: athrow
      // 75: aload 7
      // 77: aload 0
      // 78: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 7b: bipush 123
      // 7d: aaload
      // 7e: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/lang/String;)Lorg/apache/ws/policy/PrimitiveAssertion;
      // 81: invokevirtual org/apache/ws/policy/Policy.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 84: goto 8b
      // 87: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 8a: athrow
      // 8b: aload 1
      // 8c: aload 6
      // 8e: invokeinterface org/apache/ws/policy/Assertion.addTerm (Lorg/apache/ws/policy/Assertion;)V 2
      // 93: iload 8
      // 95: ifne d6
      // 98: aload 0
      // 99: aload 4
      // 9b: invokevirtual com/l7tech/policy/wssp/WsspWriter.e (Ljava/util/Collection;)Z
      // 9e: istore 9
      // a0: aload 0
      // a1: aload 4
      // a3: ldc com/l7tech/policy/assertion/credential/wss/WssBasic
      // a5: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // a8: ifeq bb
      // ab: aload 0
      // ac: aload 1
      // ad: iload 9
      // af: bipush 0
      // b0: iload 3
      // b1: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (Lorg/apache/ws/policy/Assertion;ZZZ)V
      // b4: goto d6
      // b7: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // ba: athrow
      // bb: aload 0
      // bc: aload 4
      // be: ldc com/l7tech/policy/assertion/credential/wss/WssDigest
      // c0: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // c3: ifeq d6
      // c6: aload 0
      // c7: aload 1
      // c8: iload 9
      // ca: bipush 1
      // cb: iload 3
      // cc: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (Lorg/apache/ws/policy/Assertion;ZZZ)V
      // cf: goto d6
      // d2: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // d5: athrow
      // d6: aload 1
      // d7: iload 3
      // d8: ifeq e6
      // db: aload 0
      // dc: invokevirtual com/l7tech/policy/wssp/WsspWriter.c ()Lorg/apache/ws/policy/Assertion;
      // df: goto ea
      // e2: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // e5: athrow
      // e6: aload 0
      // e7: invokevirtual com/l7tech/policy/wssp/WsspWriter.b ()Lorg/apache/ws/policy/Assertion;
      // ea: invokeinterface org/apache/ws/policy/Assertion.addTerm (Lorg/apache/ws/policy/Assertion;)V 2
      // ef: return
      // try (33 -> 52): 53 java/lang/IllegalArgumentException
      // try (47 -> 62): 63 java/lang/IllegalArgumentException
      // try (74 -> 86): 86 java/lang/IllegalArgumentException
      // try (88 -> 99): 100 java/lang/IllegalArgumentException
      // try (102 -> 108): 108 java/lang/IllegalArgumentException
   }

   private PrimitiveAssertion b(String var1) {
      return this.c(SP_NS, var1, bb[131]);
   }

   private PrimitiveAssertion c(String var1, String var2, String var3) {
      return new PrimitiveAssertion(new QName(var1, var2, var3));
   }

   private PrimitiveAssertion d() {
      String[] var5 = bb;
      PrimitiveAssertion var1 = this.b(var5[137]);
      Policy var2 = new Policy();
      var1.addTerm(var2);
      PrimitiveAssertion var3 = this.b(var5[104]);
      var2.addTerm(var3);
      Policy var4 = new Policy();
      var3.addTerm(var4);
      var4.addTerm(this.b(var5[41]));
      return var1;
   }

   private void b(org.apache.ws.policy.Assertion param1, int param2, boolean param3, Collection<Assertion> param4) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 04: astore 9
      // 06: aload 9
      // 08: sipush 141
      // 0b: aaload
      // 0c: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/lang/String;)Lorg/apache/ws/policy/PrimitiveAssertion;
      // 0f: astore 5
      // 11: new org/apache/ws/policy/Policy
      // 14: dup
      // 15: invokespecial org/apache/ws/policy/Policy.<init> ()V
      // 18: astore 6
      // 1a: aload 5
      // 1c: aload 6
      // 1e: invokevirtual org/apache/ws/policy/PrimitiveAssertion.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 21: aload 0
      // 22: aload 4
      // 24: ldc com/l7tech/policy/assertion/SslAssertion
      // 26: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // 29: ifeq 47
      // 2c: aload 0
      // 2d: aload 4
      // 2f: ldc com/l7tech/policy/assertion/SslAssertion
      // 31: invokevirtual com/l7tech/policy/wssp/WsspWriter.c (Ljava/util/Collection;Ljava/lang/Class;)Ljava/lang/Object;
      // 34: checkcast com/l7tech/policy/assertion/SslAssertion
      // 37: astore 7
      // 39: aload 6
      // 3b: aload 0
      // 3c: aload 7
      // 3e: invokevirtual com/l7tech/policy/assertion/SslAssertion.isRequireClientAuthentication ()Z
      // 41: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (Z)Lorg/apache/ws/policy/Assertion;
      // 44: invokevirtual org/apache/ws/policy/Policy.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 47: aload 6
      // 49: aload 0
      // 4a: iload 2
      // 4b: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (I)Lorg/apache/ws/policy/Assertion;
      // 4e: invokevirtual org/apache/ws/policy/Policy.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 51: aload 6
      // 53: aload 0
      // 54: invokevirtual com/l7tech/policy/wssp/WsspWriter.a ()Lorg/apache/ws/policy/Assertion;
      // 57: invokevirtual org/apache/ws/policy/Policy.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 5a: aload 0
      // 5b: aload 4
      // 5d: ldc com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp
      // 5f: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // 62: ifne 77
      // 65: aload 0
      // 66: aload 4
      // 68: ldc com/l7tech/policy/assertion/xmlsec/AddWssTimestamp
      // 6a: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // 6d: ifeq 8d
      // 70: goto 77
      // 73: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 76: athrow
      // 77: aload 6
      // 79: aload 0
      // 7a: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 7d: bipush 123
      // 7f: aaload
      // 80: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/lang/String;)Lorg/apache/ws/policy/PrimitiveAssertion;
      // 83: invokevirtual org/apache/ws/policy/Policy.addTerm (Lorg/apache/ws/policy/Assertion;)V
      // 86: goto 8d
      // 89: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 8c: athrow
      // 8d: aload 1
      // 8e: aload 5
      // 90: invokeinterface org/apache/ws/policy/Assertion.addTerm (Lorg/apache/ws/policy/Assertion;)V 2
      // 95: aload 0
      // 96: aload 4
      // 98: invokevirtual com/l7tech/policy/wssp/WsspWriter.e (Ljava/util/Collection;)Z
      // 9b: istore 7
      // 9d: bipush 0
      // 9e: istore 8
      // a0: aload 0
      // a1: aload 4
      // a3: ldc com/l7tech/policy/assertion/credential/wss/WssBasic
      // a5: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // a8: ifeq ba
      // ab: bipush 1
      // ac: istore 8
      // ae: aload 0
      // af: aload 1
      // b0: iload 7
      // b2: bipush 0
      // b3: iload 3
      // b4: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (Lorg/apache/ws/policy/Assertion;ZZZ)V
      // b7: goto d1
      // ba: aload 0
      // bb: aload 4
      // bd: ldc com/l7tech/policy/assertion/credential/wss/WssDigest
      // bf: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/util/Collection;Ljava/lang/Class;)Z
      // c2: ifeq d1
      // c5: bipush 1
      // c6: istore 8
      // c8: aload 0
      // c9: aload 1
      // ca: iload 7
      // cc: bipush 1
      // cd: iload 3
      // ce: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (Lorg/apache/ws/policy/Assertion;ZZZ)V
      // d1: iload 8
      // d3: ifeq f6
      // d6: aload 1
      // d7: iload 3
      // d8: ifeq ed
      // db: goto e2
      // de: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // e1: athrow
      // e2: aload 0
      // e3: invokevirtual com/l7tech/policy/wssp/WsspWriter.c ()Lorg/apache/ws/policy/Assertion;
      // e6: goto f1
      // e9: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // ec: athrow
      // ed: aload 0
      // ee: invokevirtual com/l7tech/policy/wssp/WsspWriter.b ()Lorg/apache/ws/policy/Assertion;
      // f1: invokeinterface org/apache/ws/policy/Assertion.addTerm (Lorg/apache/ws/policy/Assertion;)V 2
      // f6: return
      // try (32 -> 51): 52 java/lang/IllegalArgumentException
      // try (46 -> 61): 62 java/lang/IllegalArgumentException
      // try (100 -> 105): 106 java/lang/IllegalArgumentException
      // try (102 -> 111): 111 java/lang/IllegalArgumentException
   }

   private boolean b(Assertion var1) {
      return this.a(as, var1.getClass());
   }

   private boolean c(Assertion var1) {
      return this.a(ap, var1.getClass());
   }

   private boolean d(Assertion var1) {
      return this.a(ar, var1.getClass());
   }

   private void a(org.apache.ws.policy.Assertion param1, Collection<? extends XpathBasedAssertion> 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: bipush 0
      // 001: istore 3
      // 002: aload 2
      // 003: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 008: astore 4
      // 00a: aload 4
      // 00c: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 011: ifeq 108
      // 014: aload 4
      // 016: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 01b: checkcast com/l7tech/policy/assertion/XpathBasedAssertion
      // 01e: astore 5
      // 020: aload 5
      // 022: invokevirtual com/l7tech/policy/assertion/XpathBasedAssertion.pattern ()Ljava/lang/String;
      // 025: astore 6
      // 027: aload 5
      // 029: invokevirtual com/l7tech/policy/assertion/XpathBasedAssertion.namespaceMap ()Ljava/util/Map;
      // 02c: astore 7
      // 02e: aload 0
      // 02f: aload 6
      // 031: aload 7
      // 033: invokevirtual com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
      // 036: astore 6
      // 038: aload 6
      // 03a: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 03d: bipush 105
      // 03f: aaload
      // 040: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 043: ifne 05b
      // 046: aload 6
      // 048: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 04b: bipush 44
      // 04d: aaload
      // 04e: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 051: ifeq 07f
      // 054: goto 05b
      // 057: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 05a: athrow
      // 05b: iload 3
      // 05c: ifne 105
      // 05f: goto 066
      // 062: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 065: athrow
      // 066: bipush 1
      // 067: istore 3
      // 068: aload 1
      // 069: aload 0
      // 06a: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 06d: astore 11
      // 06f: aload 11
      // 071: bipush 19
      // 073: aaload
      // 074: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/lang/String;)Lorg/apache/ws/policy/PrimitiveAssertion;
      // 077: invokeinterface org/apache/ws/policy/Assertion.addTerm (Lorg/apache/ws/policy/Assertion;)V 2
      // 07c: goto 105
      // 07f: getstatic com/l7tech/policy/wssp/WsspWriter.an Ljava/util/regex/Pattern;
      // 082: aload 6
      // 084: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 087: astore 8
      // 089: aload 8
      // 08b: invokevirtual java/util/regex/Matcher.matches ()Z
      // 08e: ifne 09b
      // 091: getstatic com/l7tech/policy/wssp/WsspWriter.ao Ljava/util/regex/Pattern;
      // 094: aload 6
      // 096: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 099: astore 8
      // 09b: aload 8
      // 09d: invokevirtual java/util/regex/Matcher.matches ()Z
      // 0a0: ifne 0aa
      // 0a3: goto 00a
      // 0a6: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a9: athrow
      // 0aa: aload 0
      // 0ab: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // 0ae: astore 11
      // 0b0: aload 11
      // 0b2: bipush 107
      // 0b4: aaload
      // 0b5: invokevirtual com/l7tech/policy/wssp/WsspWriter.b (Ljava/lang/String;)Lorg/apache/ws/policy/PrimitiveAssertion;
      // 0b8: astore 9
      // 0ba: aload 9
      // 0bc: new javax/xml/namespace/QName
      // 0bf: dup
      // 0c0: aload 11
      // 0c2: bipush 45
      // 0c4: aaload
      // 0c5: invokespecial javax/xml/namespace/QName.<init> (Ljava/lang/String;)V
      // 0c8: aload 8
      // 0ca: bipush 1
      // 0cb: invokevirtual java/util/regex/Matcher.group (I)Ljava/lang/String;
      // 0ce: invokevirtual org/apache/ws/policy/PrimitiveAssertion.addAttribute (Ljavax/xml/namespace/QName;Ljava/lang/Object;)V
      // 0d1: aload 8
      // 0d3: bipush 2
      // 0d4: invokevirtual java/util/regex/Matcher.group (I)Ljava/lang/String;
      // 0d7: astore 10
      // 0d9: ldc "*"
      // 0db: aload 10
      // 0dd: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0e0: ifne 0fd
      // 0e3: aload 9
      // 0e5: new javax/xml/namespace/QName
      // 0e8: dup
      // 0e9: aload 11
      // 0eb: bipush 46
      // 0ed: aaload
      // 0ee: invokespecial javax/xml/namespace/QName.<init> (Ljava/lang/String;)V
      // 0f1: aload 10
      // 0f3: invokevirtual org/apache/ws/policy/PrimitiveAssertion.addAttribute (Ljavax/xml/namespace/QName;Ljava/lang/Object;)V
      // 0f6: goto 0fd
      // 0f9: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fc: athrow
      // 0fd: aload 1
      // 0fe: aload 9
      // 100: invokeinterface org/apache/ws/policy/Assertion.addTerm (Lorg/apache/ws/policy/Assertion;)V 2
      // 105: goto 00a
      // 108: return
      // try (23 -> 35): 36 java/lang/IllegalArgumentException
      // try (29 -> 40): 41 java/lang/IllegalArgumentException
      // try (66 -> 70): 70 java/lang/IllegalArgumentException
      // try (95 -> 108): 109 java/lang/IllegalArgumentException
   }

   private void g(Collection<XpathBasedAssertion> var1) throws PolicyAssertionException {
      for (XpathBasedAssertion var3 : var1) {
         String var4 = var3.pattern();
         Map var5 = var3.namespaceMap();
         var4 = this.a(var4, var5);

         try {
            if (var4.equals(bb[142]) || var4.equals(bb[79])) {
               continue;
            }
         } catch (PolicyAssertionException var8) {
            throw a(var8);
         }

         Matcher var6 = an.matcher(var4);
         if (!var6.matches()) {
            var6 = ao.matcher(var4);
         }

         try {
            if (!var6.matches()) {
               throw new PolicyAssertionException(var3, bb[1] + var3.pattern() + bb[88]);
            }
         } catch (PolicyAssertionException var7) {
            throw a(var7);
         }
      }
   }

   private String a(String var1, Map<String, String> var2) {
      for (Entry var4 : var2.entrySet()) {
         String var5 = (String)var4.getKey();
         String var6 = (String)var4.getValue();
         var1 = var1.replaceAll(bb[89] + var5 + ":", "{" + var6 + "}");
      }

      return var1;
   }

   private boolean a(Collection var1, Class var2) {
      return var1.contains(var2);
   }

   private boolean b(Collection<?> var1, Class var2) {
      boolean var3 = false;

      for (Object var5 : var1) {
         if (var2.isInstance(var5)) {
            var3 = true;
            break;
         }
      }

      return var3;
   }

   private <T> T c(Collection<?> var1, Class<T> var2) {
      Object var3 = null;

      for (Object var5 : var1) {
         if (var2.isInstance(var5)) {
            var3 = var5;
            break;
         }
      }

      return (T)var3;
   }

   private <T> Collection<T> d(Collection<?> var1, Class<? extends T> var2) {
      ArrayList var3 = new ArrayList();

      for (Object var5 : var1) {
         try {
            if (var2.isInstance(var5)) {
               var3.add(var5);
            }
         } catch (IllegalArgumentException var6) {
            throw a(var6);
         }
      }

      return var3;
   }

   private static void a(Element param0) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: invokestatic com/l7tech/util/DomUtils.getNamespaceMap (Lorg/w3c/dom/Element;)Ljava/util/Map;
      // 04: astore 1
      // 05: getstatic com/l7tech/policy/wssp/WsspWriter.r [[Ljava/lang/String;
      // 08: astore 2
      // 09: aload 2
      // 0a: arraylength
      // 0b: istore 3
      // 0c: bipush 0
      // 0d: istore 4
      // 0f: iload 4
      // 11: iload 3
      // 12: if_icmpge d5
      // 15: aload 2
      // 16: iload 4
      // 18: aaload
      // 19: astore 5
      // 1b: aload 5
      // 1d: bipush 0
      // 1e: aaload
      // 1f: astore 6
      // 21: aload 5
      // 23: bipush 1
      // 24: aaload
      // 25: astore 7
      // 27: aload 1
      // 28: aload 6
      // 2a: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 2f: ifne cf
      // 32: bipush 0
      // 33: istore 8
      // 35: aload 1
      // 36: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 3b: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 40: astore 9
      // 42: aload 9
      // 44: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 49: ifeq 77
      // 4c: aload 9
      // 4e: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 53: checkcast java/util/Map$Entry
      // 56: astore 10
      // 58: aload 10
      // 5a: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 5f: checkcast java/lang/String
      // 62: astore 11
      // 64: aload 7
      // 66: aload 11
      // 68: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 6b: ifeq 74
      // 6e: bipush 1
      // 6f: istore 8
      // 71: goto 77
      // 74: goto 42
      // 77: iload 8
      // 79: ifne cf
      // 7c: aload 6
      // 7e: ifnull 99
      // 81: goto 88
      // 84: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 87: athrow
      // 88: ldc ""
      // 8a: aload 6
      // 8c: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 8f: ifeq b1
      // 92: goto 99
      // 95: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 98: athrow
      // 99: aload 0
      // 9a: getstatic com/l7tech/util/DomUtils.XMLNS_NS Ljava/lang/String;
      // 9d: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // a0: bipush 112
      // a2: aaload
      // a3: aload 7
      // a5: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // aa: goto cf
      // ad: invokestatic com/l7tech/policy/wssp/WsspWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // b0: athrow
      // b1: aload 0
      // b2: getstatic com/l7tech/policy/wssp/WsspWriter.bb [Ljava/lang/String;
      // b5: astore 12
      // b7: aload 12
      // b9: bipush 3
      // ba: aaload
      // bb: aload 6
      // bd: aload 12
      // bf: bipush 117
      // c1: aaload
      // c2: swap
      // c3: 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" ]
      // c8: aload 7
      // ca: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // cf: iinc 4 1
      // d2: goto 0f
      // d5: return
      // try (54 -> 58): 59 java/lang/IllegalArgumentException
      // try (56 -> 65): 66 java/lang/IllegalArgumentException
      // try (61 -> 76): 76 java/lang/IllegalArgumentException
   }

   private static Element a(Document var0, String var1) {
      String[] var3 = bb;
      Element var2 = var0.createElementNS(WSP_NS, var3[51]);
      var2.setAttribute(var3[16], "#" + var1);
      var2.setAttributeNS(DomUtils.XMLNS_NS, var3[4], WSP_NS);
      return var2;
   }

   private static Element a(Document var0, Policy var1) throws PolicyAssertionException {
      return (Element)var0.importNode(policyToElement(var1), true);
   }

   private static Element b(Document var0, String var1) throws SAXException {
      return (Element)var0.importNode(XmlUtil.stringToDocument(var1).getDocumentElement(), true);
   }

   public static Element policyToElement(Policy var0) throws PolicyAssertionException {
      try {
         return XmlUtil.stringToDocument(policyToXml(var0)).getDocumentElement();
      } catch (SAXException var2) {
         throw new PolicyAssertionException(null, var2);
      }
   }

   public static String policyToXml(Policy var0) throws PolicyAssertionException {
      try {
         if (!bb[75].equals(WSP_NS)) {
            return policyToXml(var0, bb[11], WSP_NS);
         }
      } catch (PolicyAssertionException var1) {
         throw a(var1);
      }

      return policyToXml(var0, null, null);
   }

   public static String policyToXml(Policy var0, String var1, String var2) throws PolicyAssertionException {
      PoolByteArrayOutputStream var3 = new PoolByteArrayOutputStream();

      try {
         PolicyFactory.getPolicyWriter(2).writePolicy(var0, var3);
         String var4 = var3.toString(Charsets.UTF8);

         label46: {
            try {
               if (var1 != null && var2 != null) {
                  break label46;
               }
            } catch (PolicyAssertionException var10) {
               throw a(var10);
            }

            return var4;
         }

         String[] var7 = bb;
         var4 = var4.replaceAll(var7[28], "");
         return var4.replaceAll(var7[63] + var1, var7[56] + var2);
      } finally {
         ResourceUtils.closeQuietly(var3);
      }
   }

   static {
      String[] var5 = new String[148];
      int var3 = 0;
      String var2 = "|1K\u0019DDw}ql.\u001a\u0011 \u001ar5j1K$\u0003\u0000'D,\u0018\u0019!\u0015:CbV.\u0005T=^2H.\u0003\u0000+Ob\u0010\u0003\u001e\u00107\u000b-Ja9\u0011/O'J2Q\u001b G;\u0018f%n0J.\u0003T=_0Q1\u0001\u001d LbO)\u0018\u0000+X2Y\"\u0014T(Y-Ua&'\ngl\u001dC6L1K[a\\5Oo\u0006G`D0_nCD~\u001bm@,\u001d\u001a=\u0004\tS/T/\u0002N9X2\t\u007f0Q1\u001d\u0011\nN1RC6L1K[aO-[2_\u001b/X+Kl\u001e\u0004+ElW3\u0016[9X1\u0017sADz\u0004r\tn\u001e\u0015=B1\u0015sADz\u001bs\u00156\u0002\u0007c\\1K$\u0012\u0001<B6Al\u0004\u0000'G+L8\\E`\u001bl@2\u0015\bi#K(\u0012F{\u001d\u001eC6L1K[a\\5Oo\u0006G`D0_n\u001f\u0007a\\1\u00151\u001e\u0018'H;%H-Uo\u001dC:N!Po\u0001\u001b\"B!Ao\u0006\u0007=[l\\$\u0017\u0015;G6n$\u0003\u0007'D,\bi#K(\u0012E|\u0013,C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqA@a\u001b{\u00171\u001e\u0018'H;\u0003\\1H\u0010x;U,\u0014\u0000<B!z(\u001f\u0010'E%\u000e\u007f0Y/\u0002\u0004!Y6l.\u001a\u0011 \u009a\u0004\u001eC)\u0005\u0000>\u0011m\u00172\u0012\u001c+F#Ko\t\u0019\"X-Y1_\u001b<LmK.\u0010\u0004aN,N$\u001d\u001b>Nmd<4\u001a8N.W1\u0014[\u0012P*L5\u0001Na\u00041[)\u0014\u0019/Xl@,\u001d\u0007!J2\u0016.\u0003\u0013aX-Y1^\u0011 ]'T.\u0001\u0011aw?p$\u0010\u0010+Ymd:Y/\u0010w1E\u001c\nEb\u001ar\nu\f]3\u0003\u0019f\u001d\u0002\tt\u0004\u001e\u0010\u001dX\u000f3w\u0019d\u001c,\u000f\u007f\u0007s\bsE\tg\u0003~\u0010q\u0005|1KpA\u0010\u007f0Y/\u0002\u0004!Y6z(\u001f\u0010'E%\u0004i-\\8\u0006D7L1\u0004\u0000\u001fj1K$\u0003\u0000'D,\u0018,\u0004\u0007:\u000b ]a0\u0018\"j1K$\u0003\u0000'D,\u0019GC6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!An8\u001a-G7\\$%\u001b%N,\u0017\u000f\u0014\u0002+Y\u001cd,T8\"\u001d)E\u0007V5\u0018\u0006+c'Y%\u0014\u0006=j,\\\u0003\u001e\u00107\u000eb,Q5\u0018\u0015:D0l.\u001a\u0011 \nc6L1\u0002 !@'V\u0003\u001al\n\u001fj1K$\u0003\u0000'D,\u0018,\u0004\u0007:\u000b ]a0\u0018\"j1K$\u0003\u0000'D,\u0019\u000bw~d~_^qw}d\u007f\u000bx+_/\u0014\u0010\u001eJ0L2\u0004e#U$\u0003\u001al\n\u0003g#@\u0005|1Kp@\u001cy'I4\u0018\u0006+x+_/\u0010\u0000;Y'{.\u001f\u0012'Y/Y5\u0018\u001b \u000ej._.\u0003\u001d:C/k4\u0018\u0000+9C6L1K[aO-[2_\u001b/X+Kl\u001e\u0004+ElW3\u0016[9XoK9^\u0003=\u00061]\"\u0004\u0006'_;H.\u001d\u001d-Rm\nqAC~\u0019\fb,[-\u0004\u0010+\u007f-S$\u001f\u0010x;U,\u0014\u0000<B!z(\u001f\u0010'E%\u0005B,H4\u0005\ri#K(\u0012Ew\u0019\u0010K @A\u0012y'I4\u0018\u0006+o'J(\u0007\u0011*`'A2\u0005|1KpA+C6L1K[a\\5Oo\u0006G`D0_nCD~\u001am\bu^\f#G'V\"R\u0015+Xp\rw\\\u0017,H`\u00049P5\u0005\u0004t\u0004mO6\u0006Z9\u0018lW3\u0016[|\u001br\u000bnAAaX-Y1\\\u0011 ]'T.\u0001\u00113n,N$\u001d\u001b>NmC)\u0005\u0000>\u0011m\u00176\u0006\u0003`\\q\u0016.\u0003\u0013a\u0019r\br^D{\u00041W \u0001Y+E4]-\u001e\u0004+V\u0000W%\b\te#U$\u0002\u0004/H'\u0004e#U$\u0010|1K\u0019DDw}ql.\u001a\u0011 \u001as\u0010b,[-\u0004\u0010+\u007f+U$\u0002\u0000/F2\u0006[-T(\u0012\r\bi#K(\u0012E|\u0013\u0013\\1H{!\u001b\"B!A\u0013\u0014\u0012+Y'V\"\u0014\u0005|1Kp@\fc#K)!\u0015=X5W3\u0015\u000eb,Q5\u0018\u0015:D0l.\u001a\u0011 \u0019j1K$\u0003\u0000'D,\u0018/\u001e\u0000nX7H1\u001e\u0006:N&\u0002a\u0002\u000fs\r~1]3\u001f\u0015#N\u0016W*\u0014\u001a\nc6L1\u0002 !@'V\ri#K(\u0012E|\u0013\u0010K @A\u0018y'I4\u0018\u0006+h.Q$\u001f\u0000\rN0L(\u0017\u001d-J6]\u0096\u0004\u001eC)\u0005\u0000>\u0011m\u00176\u0006\u0003`\\q\u0016.\u0003\u0013a\u0019r\br^D{\u00041W \u0001Y+E4]-\u001e\u0004+w?}/\u0007\u0011\"D2]n-\u000f&_6H{^[9\\5\u00166BZ!Y%\u0017sAD}\u0004r\rn\u0002\u001b/[o]/\u0007\u0011\"D2]\u001d\f<+J&]3^(5\u0003\u0019f\u001d\u0002\t\u0013Ps\u0014pAFzVkEi**\u0012X?\u0002n-\\\u0012\u00029E\u001d*(\u0013v9\tm@D|\u001f?\u0011\u0012|1K\u0014\u0002\u0011<E#U$%\u001b%N,\tq\tujc\u001f-J\u0013\u0000k\u001cy'I4\u0018\u0006+x+_/\u0010\u0000;Y'{.\u001f\u0012'Y/Y5\u0018\u001b \u0016x+_/\u0014\u0010\u001d^2H.\u0003\u0000'E%l.\u001a\u0011 X\u000e\u007f0Q1\u001d\u0011\nN1j2\u0010E{\te#U$\u0002\u0004/H'\u0006c'Y%\u0014\u0006\ri#K(\u0012Ew\u0019\u0010K @A\u0003\u001al\t!h-V'\u001d\u001d-_+V&Q\u0015\"L-J(\u0005\u001c#XbK1\u0014\u0017'M+]%_\u000ej._.\u0003\u001d:C/k4\u0018\u0000+\u000e\u007f0Q1\u001d\u0011\nN1j2\u0010E{4C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!A,C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqA@a\u001b{\u00171\u001e\u0018'H;\u000e\u007f0Y/\u0002\u0004!Y6l.\u001a\u0011 \u0010x7H1\u001e\u0006:B,_\u0015\u001e\u001f+E14C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!A`\u00049P5\u0005\u0004t\u0004mO6\u0006Z9\u0018lW3\u0016[|\u001br\u000bnAAaX-Y1\\\u0011 ]'T.\u0001\u00113n,N$\u001d\u001b>NmC)\u0005\u0000>\u0011m\u00176\u0006\u0003`\\q\u0016.\u0003\u0013a\u0019r\br^D{\u00041W \u0001Y+E4]-\u001e\u0004+V\u0000W%\b\u001af7K5\"\u0001>[-J5#\u0011(b1K4\u0014\u0006\u001dN0Q \u001d\u0006[-T(\u0012\r\u000f{0W5\u0014\u0017:B-V\u0015\u001e\u001f+E\bi#K(\u0012Ew\u0019\ri#K(\u0012E|\u0013\u0010K @A\u0006g#A.\u0004\u0000\bi#K(\u0012F{\u001d\tsw\bx%\u001b%N,\u0002\fk\u0005\u0003}\u0019nX\u0003\\1MGC6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!An8\u001a-G7\\$%\u001b%N,\u0017\u000f\u0014\u0002+Y\u001bf7K5\"\u0001>[-J5#\u0011(`'A\b\u0015\u0011 _+^(\u0014\u00069C6L1K[aO-[2_\u001b/X+Kl\u001e\u0004+ElW3\u0016[9XoK9^\u0003=\u00061]\"\u0004\u0006'_;H.\u001d\u001d-Rm\nqAC~\u0019\fb,[-\u0004\u0010+\u007f-S$\u001f\t\u007f0Q1\u001d\u0011\nN1\u000en,[3\b\u0004:N&h \u0003\u0000=\u0012|1K\u0014\u0002\u0011<E#U$%\u001b%N,\tp\u0010x7H1\u001e\u0006:B,_\u0015\u001e\u001f+E1\u0011j1A,\u001c\u0011:Y+[\u0003\u0018\u001a*B,_ C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9X&Tn\ri#K(\u0012F{\u001d\u0010K @A\u0006g#A.\u0004\u0000\tsw\bx%\u001b%N,\u0017x'[4\u0003\u0011\rD,N$\u0003\u0007/_+W/%\u001b%N,d\u00049P5\u0005\u0004t\u0004mK\"\u0019\u0011#J1\u00169\u001c\u0018=D#Ho\u001e\u0006)\u00041W \u0001[+E4]-\u001e\u0004+\u0004?}/\u0007\u0011\"D2]n\n\u001c:_2\u0002n^\u0007-C'U \u0002Z6F.K.\u0010\u0004`D0_n\u0002\u001b/[m]/\u0007\u0011\"D2]n\f6!O;\fc#K)!\u0015=X5W3\u0015\u0006c'Y%\u0014\u0006SC6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!An8\u001a-G7\\$%\u001b%N,\u0017\u0000\u001d\u0003/R1l.#\u0011-B2Q$\u001f\u0000\u001eC6L1K[a\\5Oo\u0006G`D0_n\u001f\u0007a\\1\u00151\u001e\u0018'H;\u0004i-\\8\u000ey'[(\u0001\u001d+E6l.\u001a\u0011 \u0005S/T/\u0002\u0012|1K\u0014\u0002\u0011<E#U$%\u001b%N,\tp$H-Uo\u001dC:N!Po\u0001\u001b\"B!Ao\u0006\u0007>\u0005&]'\u0010\u0001\"_\u0014]3\u0002\u001d!E\u000en,[3\b\u0004:N&h \u0003\u0000=\u0010|1K\u0019DDw}ql.\u001a\u0011 \u001as\u0006S/T/\u0002N\u001bf7K5\"\u0001>[-J5#\u0011(`'A\b\u0015\u0011 _+^(\u0014\u0006\u0011j1A,\u001c\u0011:Y+[\u0003\u0018\u001a*B,_\r~1]3\u001f\u0015#N\u0016W*\u0014\u001a\u0002X2SC6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!An8\u001a-G7\\$%\u001b%N,\u0017\u0000\u001d\u0003/R1l.#\u0011-B2Q$\u001f\u0000\u0010b,[-\u0004\u0010+\u007f+U$\u0002\u0000/F2\u000ey'[(\u0001\u001d+E6l.\u001a\u0011 \u0010|1K\u0019DDw}ql.\u001a\u0011 \u001ar\u0012|1K\u0014\u0002\u0011<E#U$%\u001b%N,\tq\u000bx+_/\u0014\u0010\u001eJ0L2\u0003\\1M\u0003g#@\u001cd,T8\"\u001d)E\u0007V5\u0018\u0006+c'Y%\u0014\u0006=j,\\\u0003\u001e\u00107\u0002X2\u0003\u001al\r\u0007I+V%\u0018\u001a)\bi#K(\u0012Ew\u0019RC6L1K[aO-[2_\u001b/X+Kl\u001e\u0004+ElW3\u0016[9X1\u0017sADz\u0004r\tn\u001e\u0015=B1\u0015sADz\u001bs\u00156\u0002\u0007c\\1K$\u0012\u0001<B6Al\u0004\u0000'G+L8\\E`\u001bl@2\u0015\u001af7K5\"\u0001>[-J5#\u0011(b1K4\u0014\u0006\u001dN0Q \u001d\u000f{0W5\u0014\u0017:B-V\u0015\u001e\u001f+E.C6L1K[a\\5Oo\u0006G`D0_nCD~\u001am\bu^\f#G'V\"R\u0000<B2T$\u0015\u0011=\u0006!Z\"\u0018y'I4\u0018\u0006+h.Q$\u001f\u0000\rN0L(\u0017\u001d-J6]\u0003\\1H\u0010\u007f0Y/\u0002\u0004!Y6z(\u001f\u0010'E%d\u00049P5\u0005\u0004t\u0004mK\"\u0019\u0011#J1\u00169\u001c\u0018=D#Ho\u001e\u0006)\u00041W \u0001[+E4]-\u001e\u0004+\u0004?}/\u0007\u0011\"D2]n\n\u001c:_2\u0002n^\u0007-C'U \u0002Z6F.K.\u0010\u0004`D0_n\u0002\u001b/[m]/\u0007\u0011\"D2]n\f6!O;\u0016x+_/\u0014\u0010\u001d^2H.\u0003\u0000'E%l.\u001a\u0011 X+C6L1K[a\\5Oo\u0006G`D0_nCD~\u001am\bu^\f#G'V\"R\u0015+Xs\ny\\\u0017,H C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9X&Tn";
      int var4 = "|1K\u0019DDw}ql.\u001a\u0011 \u001ar5j1K$\u0003\u0000'D,\u0018\u0019!\u0015:CbV.\u0005T=^2H.\u0003\u0000+Ob\u0010\u0003\u001e\u00107\u000b-Ja9\u0011/O'J2Q\u001b G;\u0018f%n0J.\u0003T=_0Q1\u0001\u001d LbO)\u0018\u0000+X2Y\"\u0014T(Y-Ua&'\ngl\u001dC6L1K[a\\5Oo\u0006G`D0_nCD~\u001bm@,\u001d\u001a=\u0004\tS/T/\u0002N9X2\t\u007f0Q1\u001d\u0011\nN1RC6L1K[aO-[2_\u001b/X+Kl\u001e\u0004+ElW3\u0016[9X1\u0017sADz\u0004r\tn\u001e\u0015=B1\u0015sADz\u001bs\u00156\u0002\u0007c\\1K$\u0012\u0001<B6Al\u0004\u0000'G+L8\\E`\u001bl@2\u0015\bi#K(\u0012F{\u001d\u001eC6L1K[a\\5Oo\u0006G`D0_n\u001f\u0007a\\1\u00151\u001e\u0018'H;%H-Uo\u001dC:N!Po\u0001\u001b\"B!Ao\u0006\u0007=[l\\$\u0017\u0015;G6n$\u0003\u0007'D,\bi#K(\u0012E|\u0013,C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqA@a\u001b{\u00171\u001e\u0018'H;\u0003\\1H\u0010x;U,\u0014\u0000<B!z(\u001f\u0010'E%\u000e\u007f0Y/\u0002\u0004!Y6l.\u001a\u0011 \u009a\u0004\u001eC)\u0005\u0000>\u0011m\u00172\u0012\u001c+F#Ko\t\u0019\"X-Y1_\u001b<LmK.\u0010\u0004aN,N$\u001d\u001b>Nmd<4\u001a8N.W1\u0014[\u0012P*L5\u0001Na\u00041[)\u0014\u0019/Xl@,\u001d\u0007!J2\u0016.\u0003\u0013aX-Y1^\u0011 ]'T.\u0001\u0011aw?p$\u0010\u0010+Ymd:Y/\u0010w1E\u001c\nEb\u001ar\nu\f]3\u0003\u0019f\u001d\u0002\tt\u0004\u001e\u0010\u001dX\u000f3w\u0019d\u001c,\u000f\u007f\u0007s\bsE\tg\u0003~\u0010q\u0005|1KpA\u0010\u007f0Y/\u0002\u0004!Y6z(\u001f\u0010'E%\u0004i-\\8\u0006D7L1\u0004\u0000\u001fj1K$\u0003\u0000'D,\u0018,\u0004\u0007:\u000b ]a0\u0018\"j1K$\u0003\u0000'D,\u0019GC6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!An8\u001a-G7\\$%\u001b%N,\u0017\u000f\u0014\u0002+Y\u001cd,T8\"\u001d)E\u0007V5\u0018\u0006+c'Y%\u0014\u0006=j,\\\u0003\u001e\u00107\u000eb,Q5\u0018\u0015:D0l.\u001a\u0011 \nc6L1\u0002 !@'V\u0003\u001al\n\u001fj1K$\u0003\u0000'D,\u0018,\u0004\u0007:\u000b ]a0\u0018\"j1K$\u0003\u0000'D,\u0019\u000bw~d~_^qw}d\u007f\u000bx+_/\u0014\u0010\u001eJ0L2\u0004e#U$\u0003\u001al\n\u0003g#@\u0005|1Kp@\u001cy'I4\u0018\u0006+x+_/\u0010\u0000;Y'{.\u001f\u0012'Y/Y5\u0018\u001b \u000ej._.\u0003\u001d:C/k4\u0018\u0000+9C6L1K[aO-[2_\u001b/X+Kl\u001e\u0004+ElW3\u0016[9XoK9^\u0003=\u00061]\"\u0004\u0006'_;H.\u001d\u001d-Rm\nqAC~\u0019\fb,[-\u0004\u0010+\u007f-S$\u001f\u0010x;U,\u0014\u0000<B!z(\u001f\u0010'E%\u0005B,H4\u0005\ri#K(\u0012Ew\u0019\u0010K @A\u0012y'I4\u0018\u0006+o'J(\u0007\u0011*`'A2\u0005|1KpA+C6L1K[a\\5Oo\u0006G`D0_nCD~\u001am\bu^\f#G'V\"R\u0015+Xp\rw\\\u0017,H`\u00049P5\u0005\u0004t\u0004mO6\u0006Z9\u0018lW3\u0016[|\u001br\u000bnAAaX-Y1\\\u0011 ]'T.\u0001\u00113n,N$\u001d\u001b>NmC)\u0005\u0000>\u0011m\u00176\u0006\u0003`\\q\u0016.\u0003\u0013a\u0019r\br^D{\u00041W \u0001Y+E4]-\u001e\u0004+V\u0000W%\b\te#U$\u0002\u0004/H'\u0004e#U$\u0010|1K\u0019DDw}ql.\u001a\u0011 \u001as\u0010b,[-\u0004\u0010+\u007f+U$\u0002\u0000/F2\u0006[-T(\u0012\r\bi#K(\u0012E|\u0013\u0013\\1H{!\u001b\"B!A\u0013\u0014\u0012+Y'V\"\u0014\u0005|1Kp@\fc#K)!\u0015=X5W3\u0015\u000eb,Q5\u0018\u0015:D0l.\u001a\u0011 \u0019j1K$\u0003\u0000'D,\u0018/\u001e\u0000nX7H1\u001e\u0006:N&\u0002a\u0002\u000fs\r~1]3\u001f\u0015#N\u0016W*\u0014\u001a\nc6L1\u0002 !@'V\ri#K(\u0012E|\u0013\u0010K @A\u0018y'I4\u0018\u0006+h.Q$\u001f\u0000\rN0L(\u0017\u001d-J6]\u0096\u0004\u001eC)\u0005\u0000>\u0011m\u00176\u0006\u0003`\\q\u0016.\u0003\u0013a\u0019r\br^D{\u00041W \u0001Y+E4]-\u001e\u0004+w?}/\u0007\u0011\"D2]n-\u000f&_6H{^[9\\5\u00166BZ!Y%\u0017sAD}\u0004r\rn\u0002\u001b/[o]/\u0007\u0011\"D2]\u001d\f<+J&]3^(5\u0003\u0019f\u001d\u0002\t\u0013Ps\u0014pAFzVkEi**\u0012X?\u0002n-\\\u0012\u00029E\u001d*(\u0013v9\tm@D|\u001f?\u0011\u0012|1K\u0014\u0002\u0011<E#U$%\u001b%N,\tq\tujc\u001f-J\u0013\u0000k\u001cy'I4\u0018\u0006+x+_/\u0010\u0000;Y'{.\u001f\u0012'Y/Y5\u0018\u001b \u0016x+_/\u0014\u0010\u001d^2H.\u0003\u0000'E%l.\u001a\u0011 X\u000e\u007f0Q1\u001d\u0011\nN1j2\u0010E{\te#U$\u0002\u0004/H'\u0006c'Y%\u0014\u0006\ri#K(\u0012Ew\u0019\u0010K @A\u0003\u001al\t!h-V'\u001d\u001d-_+V&Q\u0015\"L-J(\u0005\u001c#XbK1\u0014\u0017'M+]%_\u000ej._.\u0003\u001d:C/k4\u0018\u0000+\u000e\u007f0Q1\u001d\u0011\nN1j2\u0010E{4C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!A,C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqA@a\u001b{\u00171\u001e\u0018'H;\u000e\u007f0Y/\u0002\u0004!Y6l.\u001a\u0011 \u0010x7H1\u001e\u0006:B,_\u0015\u001e\u001f+E14C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!A`\u00049P5\u0005\u0004t\u0004mO6\u0006Z9\u0018lW3\u0016[|\u001br\u000bnAAaX-Y1\\\u0011 ]'T.\u0001\u00113n,N$\u001d\u001b>NmC)\u0005\u0000>\u0011m\u00176\u0006\u0003`\\q\u0016.\u0003\u0013a\u0019r\br^D{\u00041W \u0001Y+E4]-\u001e\u0004+V\u0000W%\b\u001af7K5\"\u0001>[-J5#\u0011(b1K4\u0014\u0006\u001dN0Q \u001d\u0006[-T(\u0012\r\u000f{0W5\u0014\u0017:B-V\u0015\u001e\u001f+E\bi#K(\u0012Ew\u0019\ri#K(\u0012E|\u0013\u0010K @A\u0006g#A.\u0004\u0000\bi#K(\u0012F{\u001d\tsw\bx%\u001b%N,\u0002\fk\u0005\u0003}\u0019nX\u0003\\1MGC6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!An8\u001a-G7\\$%\u001b%N,\u0017\u000f\u0014\u0002+Y\u001bf7K5\"\u0001>[-J5#\u0011(`'A\b\u0015\u0011 _+^(\u0014\u00069C6L1K[aO-[2_\u001b/X+Kl\u001e\u0004+ElW3\u0016[9XoK9^\u0003=\u00061]\"\u0004\u0006'_;H.\u001d\u001d-Rm\nqAC~\u0019\fb,[-\u0004\u0010+\u007f-S$\u001f\t\u007f0Q1\u001d\u0011\nN1\u000en,[3\b\u0004:N&h \u0003\u0000=\u0012|1K\u0014\u0002\u0011<E#U$%\u001b%N,\tp\u0010x7H1\u001e\u0006:B,_\u0015\u001e\u001f+E1\u0011j1A,\u001c\u0011:Y+[\u0003\u0018\u001a*B,_ C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9X&Tn\ri#K(\u0012F{\u001d\u0010K @A\u0006g#A.\u0004\u0000\tsw\bx%\u001b%N,\u0017x'[4\u0003\u0011\rD,N$\u0003\u0007/_+W/%\u001b%N,d\u00049P5\u0005\u0004t\u0004mK\"\u0019\u0011#J1\u00169\u001c\u0018=D#Ho\u001e\u0006)\u00041W \u0001[+E4]-\u001e\u0004+\u0004?}/\u0007\u0011\"D2]n\n\u001c:_2\u0002n^\u0007-C'U \u0002Z6F.K.\u0010\u0004`D0_n\u0002\u001b/[m]/\u0007\u0011\"D2]n\f6!O;\fc#K)!\u0015=X5W3\u0015\u0006c'Y%\u0014\u0006SC6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!An8\u001a-G7\\$%\u001b%N,\u0017\u0000\u001d\u0003/R1l.#\u0011-B2Q$\u001f\u0000\u001eC6L1K[a\\5Oo\u0006G`D0_n\u001f\u0007a\\1\u00151\u001e\u0018'H;\u0004i-\\8\u000ey'[(\u0001\u001d+E6l.\u001a\u0011 \u0005S/T/\u0002\u0012|1K\u0014\u0002\u0011<E#U$%\u001b%N,\tp$H-Uo\u001dC:N!Po\u0001\u001b\"B!Ao\u0006\u0007>\u0005&]'\u0010\u0001\"_\u0014]3\u0002\u001d!E\u000en,[3\b\u0004:N&h \u0003\u0000=\u0010|1K\u0019DDw}ql.\u001a\u0011 \u001as\u0006S/T/\u0002N\u001bf7K5\"\u0001>[-J5#\u0011(`'A\b\u0015\u0011 _+^(\u0014\u0006\u0011j1A,\u001c\u0011:Y+[\u0003\u0018\u001a*B,_\r~1]3\u001f\u0015#N\u0016W*\u0014\u001a\u0002X2SC6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9Xm\nqAAa\u001bu\u00172\u0014\u0017;Y+L8\u0001\u001b\"B!An8\u001a-G7\\$%\u001b%N,\u0017\u0000\u001d\u0003/R1l.#\u0011-B2Q$\u001f\u0000\u0010b,[-\u0004\u0010+\u007f+U$\u0002\u0000/F2\u000ey'[(\u0001\u001d+E6l.\u001a\u0011 \u0010|1K\u0019DDw}ql.\u001a\u0011 \u001ar\u0012|1K\u0014\u0002\u0011<E#U$%\u001b%N,\tq\u000bx+_/\u0014\u0010\u001eJ0L2\u0003\\1M\u0003g#@\u001cd,T8\"\u001d)E\u0007V5\u0018\u0006+c'Y%\u0014\u0006=j,\\\u0003\u001e\u00107\u0002X2\u0003\u001al\r\u0007I+V%\u0018\u001a)\bi#K(\u0012Ew\u0019RC6L1K[aO-[2_\u001b/X+Kl\u001e\u0004+ElW3\u0016[9X1\u0017sADz\u0004r\tn\u001e\u0015=B1\u0015sADz\u001bs\u00156\u0002\u0007c\\1K$\u0012\u0001<B6Al\u0004\u0000'G+L8\\E`\u001bl@2\u0015\u001af7K5\"\u0001>[-J5#\u0011(b1K4\u0014\u0006\u001dN0Q \u001d\u000f{0W5\u0014\u0017:B-V\u0015\u001e\u001f+E.C6L1K[a\\5Oo\u0006G`D0_nCD~\u001am\bu^\f#G'V\"R\u0000<B2T$\u0015\u0011=\u0006!Z\"\u0018y'I4\u0018\u0006+h.Q$\u001f\u0000\rN0L(\u0017\u001d-J6]\u0003\\1H\u0010\u007f0Y/\u0002\u0004!Y6z(\u001f\u0010'E%d\u00049P5\u0005\u0004t\u0004mK\"\u0019\u0011#J1\u00169\u001c\u0018=D#Ho\u001e\u0006)\u00041W \u0001[+E4]-\u001e\u0004+\u0004?}/\u0007\u0011\"D2]n\n\u001c:_2\u0002n^\u0007-C'U \u0002Z6F.K.\u0010\u0004`D0_n\u0002\u001b/[m]/\u0007\u0011\"D2]n\f6!O;\u0016x+_/\u0014\u0010\u001d^2H.\u0003\u0000'E%l.\u001a\u0011 X+C6L1K[a\\5Oo\u0006G`D0_nCD~\u001am\bu^\f#G'V\"R\u0015+Xs\ny\\\u0017,H C6L1K[aX!P$\u001c\u0015=\u0005:U-\u0002\u001b/[lW3\u0016[9X&Tn"
         .length();
      char var1 = 16;
      int var9 = -1;

      label51:
      while (true) {
         byte var10000 = 49;
         String var10001 = var2.substring(++var9, var9 + var1);
         byte var10002 = -1;

         while (true) {
            String var13 = a(var10000, c(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var13;
                  if ((var9 += var1) >= var4) {
                     bb = var5;
                     String[] var14 = bb;
                     N = bb[136];
                     O = var14[33];
                     p = var14[135];
                     v = var14[47];
                     q = var14[90];
                     Q = var14[72];
                     E = var14[85];
                     w = var14[76];
                     F = var14[32];
                     A = var14[62];
                     m = var14[74];
                     H = var14[23];
                     ad = var14[110];
                     WSP12_NS = var14[11];
                     X = var14[101];
                     ab = var14[127];
                     C = var14[53];
                     P = var14[34];
                     Z = var14[143];
                     Y = var14[73];
                     y = var14[58];
                     W = var14[69];
                     G = var14[123];
                     B = var14[97];
                     D = var14[54];
                     s = var14[124];
                     ae = var14[68];
                     ak = var14[108];
                     ai = var14[60];
                     L = var14[17];
                     am = var14[44];
                     ac = var14[115];
                     M = var14[118];
                     I = var14[18];
                     T = var14[86];
                     u = var14[0];
                     aa = var14[98];
                     ah = var14[37];
                     aj = var14[91];
                     K = var14[13];
                     U = var14[95];
                     x = var14[82];
                     af = var14[30];
                     o = var14[12];
                     l = var14[36];
                     t = var14[87];
                     al = var14[105];
                     J = var14[119];
                     S = var14[134];
                     V = var14[59];
                     R = var14[10];
                     WSP15_NS = var14[109];
                     z = var14[120];
                     ag = var14[67];
                     n = var14[131];

                     label38: {
                        try {
                           a = Logger.getLogger(WsspWriter.class.getName());
                           j = ConfigFactory.getProperty(bb[9], bb[70]);
                           k = ConfigFactory.getProperty(bb[114], bb[26]);
                           if (k.equals(bb[132])) {
                              var15 = bb[8];
                              break label38;
                           }
                        } catch (IllegalArgumentException var7) {
                           throw a(var7);
                        }

                        String[] var10 = bb;
                        var15 = var10[11];
                     }

                     label31: {
                        try {
                           WSP_NS = var15;
                           if (j.equals(bb[31])) {
                              var16 = bb[93];
                              break label31;
                           }
                        } catch (IllegalArgumentException var6) {
                           throw a(var6);
                        }

                        String[] var11 = bb;
                        var16 = var11[78];
                     }

                     SP_NS = var16;
                     String[][] var17 = new String[3][];
                     String[] var10003 = new String[2];
                     String[] var12 = bb;
                     var10003[0] = var12[140];
                     var10003[1] = WSP_NS;
                     var17[0] = var10003;
                     var17[1] = new String[]{var12[128], var12[6]};
                     var17[2] = new String[]{var12[131], SP_NS};
                     r = var17;
                     an = Pattern.compile(var12[15]);
                     ao = Pattern.compile(var12[61]);
                     ap = Collections.unmodifiableCollection(
                        Arrays.asList(
                           RequireWssX509Cert.class,
                           RequireWssSignedElement.class,
                           RequireWssEncryptedElement.class,
                           WssSignElement.class,
                           WssEncryptElement.class
                        )
                     );
                     aq = Collections.unmodifiableCollection(Arrays.asList(EncryptedUsernameTokenAssertion.class, SecureConversation.class));
                     ar = Collections.unmodifiableCollection(Arrays.asList(SslAssertion.class, HttpDigest.class, HttpBasic.class));
                     as = Collections.unmodifiableCollection(
                        Arrays.asList(
                           SslAssertion.class,
                           WssBasic.class,
                           WssDigest.class,
                           EncryptedUsernameTokenAssertion.class,
                           SecureConversation.class,
                           RequireWssTimestamp.class,
                           RequireWssX509Cert.class,
                           RequireWssSignedElement.class,
                           RequireWssEncryptedElement.class,
                           AddWssTimestamp.class,
                           WssSignElement.class,
                           WssEncryptElement.class
                        )
                     );
                     return;
                  }

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

                  var2 = "\b}\u0007z\u0000\u0010*\u0017~\u0004$M\f+\u000f{\u0014%\b\u000f5Q&C>\u0015Gh\fl\u001di\u0019^`\u00138J8\u0017\\g\u0003\r\"h\u0000cY\r0V[\u0000k\u000b\n";
                  var4 = "\b}\u0007z\u0000\u0010*\u0017~\u0004$M\f+\u000f{\u0014%\b\u000f5Q&C>\u0015Gh\fl\u001di\u0019^`\u00138J8\u0017\\g\u0003\r\"h\u0000cY\r0V[\u0000k\u000b\n"
                     .length();
                  var1 = '+';
                  var9 = -1;
            }

            var10000 = 122;
            var10001 = var2.substring(++var9, var9 + var1);
            var10002 = 0;
         }
      }
   }

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

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

      return var10000;
   }

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

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 26;
            case 1 -> 115;
            case 2 -> 9;
            case 3 -> 112;
            case 4 -> 64;
            case 5 -> 69;
            default -> 127;
         });
      }

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