package com.l7tech.external.assertions.gatewaygraphql.server.data;

import com.fasterxml.jackson.annotation.JsonIncludeProperties;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.l7tech.common.http.HttpMethod;
import com.l7tech.external.assertions.gatewaygraphql.server.input.BundleEntityMappingInput;
import com.l7tech.external.assertions.gatewaygraphql.server.input.EntityInput;
import com.l7tech.external.assertions.gatewaygraphql.server.input.EntityPropertyInput;
import com.l7tech.external.assertions.gatewaygraphql.server.input.PolicyInput;
import com.l7tech.external.assertions.gatewaygraphql.server.resolver.ResolverExecutionContext;
import com.l7tech.external.assertions.gatewaygraphql.server.resolver.helper.ServiceDocumentHelper;
import com.l7tech.external.assertions.gatewaygraphql.server.util.Util;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.service.ServiceDocument;
import com.l7tech.wsdl.Wsdl;
import com.l7tech.xml.soap.SoapVersion;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Logger;
import java.util.stream.Collectors;
import javax.wsdl.WSDLException;
import lombok.Generated;
import lombok.NonNull;

public class SoapServiceDTO extends PublishedServiceDTO {
   @Generated
   private static final Logger d;
   public static final String DEFAULT_URI;
   private final ServiceDocumentHelper e;
   private static final String[] g;

   public SoapServiceDTO(PublishedService var1, ServiceDocumentHelper var2) {
      super(var1);
      this.e = var2;
   }

   public String getWsdl() {
      return this.entity.getWsdlXml();
   }

   public String getWsdlUrl() {
      return asNullable(this.entity.getWsdlUrl());
   }

   public List<ServiceResourceDTO> getWsdlResources() {
      return asNullableList(
         this.e
            .getDocumentsOf(this.entity)
            .stream()
            .map(ServiceResourceDTO::new)
            .sorted(Comparator.comparing(ServiceResourceDTO::getUri))
            .collect(Collectors.toList())
      );
   }

   public SoapResolversDTO getResolvers() {
      Wsdl var1 = null;

      try {
         var1 = this.entity.parsedWsdl();
      } catch (WSDLException var3) {
         d.warning(g[1] + var3.getMessage());
      }

      return SoapResolversDTO.fromWsdl(var1, this.entity.getRoutingUri());
   }

   @Override
   public String getResolutionPath() {
      String var1 = super.getResolutionPath();
      return Util.isNotEmpty(var1) ? var1 : g[2];
   }

   public SoapVersion getSoapVersion() {
      return this.entity.getSoapVersion();
   }

   public boolean isLaxResolution() {
      return this.entity.isLaxResolution();
   }

   @Override
   protected Object createWrapperObject() {
      return new SoapServiceDTO.SoapServiceWrapper(this.entity, this.e);
   }

   static {
      String[] var5 = new String[3];
      int var3 = 0;
      String var2 = "/\u001cm\u0000;@oa\u001f$D*\\2S\u0013Un\nf\u0017qPte\u000b>\u0002fAorOy\u0002`Gin\b>\u0010gWl \t/\u001cm\u0000;@oa\u001f";
      int var4 = "/\u001cm\u0000;@oa\u001f$D*\\2S\u0013Un\nf\u0017qPte\u000b>\u0002fAorOy\u0002`Gin\b>\u0010gWl \t/\u001cm\u0000;@oa\u001f".length();
      char var1 = '\t';
      int var0 = -1;

      while (true) {
         String var10002 = b(35, a(var2.substring(++var0, var0 + var1)));
         byte var10001 = -1;
         var5[var3++] = var10002;
         if ((var0 += var1) >= var4) {
            g = var5;
            DEFAULT_URI = g[0];
            d = Logger.getLogger(SoapServiceDTO.class.getName());
            return;
         }

         var1 = var2.charAt(var0);
      }
   }

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

      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 -> 35;
            case 1 -> 76;
            case 2 -> 61;
            case 3 -> 68;
            case 4 -> 55;
            case 5 -> 16;
            default -> 35;
         });
      }

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

   public static class SoapServiceInput extends EntityInput {
      ResolverExecutionContext g;
      SoapServiceDTO.SoapServiceResolverInput h;
      String i;
      String j;
      String k;
      String l;
      String m;
      List<ServiceResourceDTO.ServiceResourceInput> n;
      List<ServiceDocument> o;
      boolean p;
      String q;
      PolicyInput r;
      Boolean s;
      SoapVersion t;
      Boolean u;
      List<HttpMethod> v;
      Boolean w;
      Boolean x;
      List<EntityPropertyInput> y;
      String z;
      private static final String[] A;

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

      @Override
      public boolean matches(EntityMappingInstruction var1) {
         if (this.h != null) {
            boolean var2 = super.matches(var1);
            String[] var4 = A;
            if (!(var1.getSource(var4[23]) instanceof Map)) {
               return var2;
            }

            Map var3 = (Map)var1.getSource(var4[0]);
            return var2
               && (this.h.getNormalizedSoapAction() == null || this.a(var3))
               && (this.h.getBaseUri() == null || Objects.equals(this.h.getBaseUri(), var3.get(A[20])));
         } else {
            return super.matches(var1);
         }
      }

      private boolean a(Map<?, ?> var1) {
         String var2 = this.b(var1);
         List var3 = this.c(var1);
         if (Util.isNotEmpty(this.h.getSoapAction())) {
            if (var2 != null) {
               return this.h.getSoapAction().equals(var2);
            }

            if (Util.isNotEmpty(var3)) {
               return var3.contains(this.h.getSoapAction());
            }
         }

         if (Util.isNotEmpty(this.h.getSoapActions())) {
            if (var2 != null) {
               return this.h.getSoapActions().contains(var2);
            }

            if (Util.isNotEmpty(var3)) {
               return this.h.getSoapActions().containsAll(var3.stream().map(String::valueOf).collect(Collectors.toList()));
            }
         }

         return false;
      }

      private String b(Map<?, ?> var1) {
         Object var2 = var1.get(A[18]);
         return var2 != null ? var2.toString() : null;
      }

      private List<?> c(Map<?, ?> var1) {
         Object var2 = var1.get(A[1]);
         return var2 instanceof List ? (List)var2 : null;
      }

      @Override
      public void resetGuid() {
         this.setGuid(null);
      }

      @Generated
      @Override
      public ResolverExecutionContext getExecutionContext() {
         return this.g;
      }

      @Generated
      public SoapServiceDTO.SoapServiceResolverInput getResolvers() {
         return this.h;
      }

      @Generated
      @Override
      public String getGuid() {
         return this.i;
      }

      @Generated
      public String getFolderPath() {
         return this.j;
      }

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

      @Generated
      public String getWsdl() {
         return this.l;
      }

      @Generated
      public String getWsdlUrl() {
         return this.m;
      }

      @Generated
      public List<ServiceResourceDTO.ServiceResourceInput> getWsdlResources() {
         return this.n;
      }

      @Generated
      public List<ServiceDocument> getDocuments() {
         return this.o;
      }

      @Generated
      public boolean isUpdateDocuments() {
         return this.p;
      }

      @Generated
      public String getResolutionPath() {
         return this.q;
      }

      @Generated
      public PolicyInput getPolicy() {
         return this.r;
      }

      @Generated
      public Boolean getEnabled() {
         return this.s;
      }

      @Generated
      public SoapVersion getSoapVersion() {
         return this.t;
      }

      @Generated
      public Boolean getWssProcessingEnabled() {
         return this.u;
      }

      @Generated
      public List<HttpMethod> getMethodsAllowed() {
         return this.v;
      }

      @Generated
      public Boolean getTracingEnabled() {
         return this.w;
      }

      @Generated
      public Boolean getLaxResolution() {
         return this.x;
      }

      @Generated
      public List<EntityPropertyInput> getProperties() {
         return this.y;
      }

      @Generated
      public String getChecksum() {
         return this.z;
      }

      @Generated
      @Override
      public void setExecutionContext(ResolverExecutionContext var1) {
         this.g = var1;
      }

      @Generated
      public void setResolvers(SoapServiceDTO.SoapServiceResolverInput var1) {
         this.h = var1;
      }

      @Generated
      public void setGuid(String var1) {
         this.i = var1;
      }

      @Generated
      public void setFolderPath(String var1) {
         this.j = var1;
      }

      @Generated
      public void setName(String var1) {
         this.k = var1;
      }

      @Generated
      public void setWsdl(String var1) {
         this.l = var1;
      }

      @Generated
      public void setWsdlUrl(String var1) {
         this.m = var1;
      }

      @Generated
      public void setWsdlResources(List<ServiceResourceDTO.ServiceResourceInput> var1) {
         this.n = var1;
      }

      @Generated
      public void setDocuments(List<ServiceDocument> var1) {
         this.o = var1;
      }

      @Generated
      public void setUpdateDocuments(boolean var1) {
         this.p = var1;
      }

      @Generated
      public void setResolutionPath(String var1) {
         this.q = var1;
      }

      @Generated
      public void setPolicy(PolicyInput var1) {
         this.r = var1;
      }

      @Generated
      public void setEnabled(Boolean var1) {
         this.s = var1;
      }

      @Generated
      public void setSoapVersion(SoapVersion var1) {
         this.t = var1;
      }

      @Generated
      public void setWssProcessingEnabled(Boolean var1) {
         this.u = var1;
      }

      @Generated
      public void setMethodsAllowed(List<HttpMethod> var1) {
         this.v = var1;
      }

      @Generated
      public void setTracingEnabled(Boolean var1) {
         this.w = var1;
      }

      @Generated
      public void setLaxResolution(Boolean var1) {
         this.x = var1;
      }

      @Generated
      public void setProperties(List<EntityPropertyInput> var1) {
         this.y = var1;
      }

      @Generated
      public void setChecksum(String var1) {
         this.z = var1;
      }

      @Generated
      @Override
      public String toString() {
         String var10000 = String.valueOf(this.getExecutionContext());
         String var10001 = String.valueOf(this.getResolvers());
         String var10002 = this.getGuid();
         String var10003 = this.getFolderPath();
         String var10004 = this.getName();
         String var10005 = this.getWsdl();
         String var10006 = this.getWsdlUrl();
         String var10007 = String.valueOf(this.getWsdlResources());
         String var10008 = String.valueOf(this.getDocuments());
         boolean var10009 = this.isUpdateDocuments();
         String var10010 = this.getResolutionPath();
         String var10011 = String.valueOf(this.getPolicy());
         Boolean var10012 = this.getEnabled();
         String var10013 = String.valueOf(this.getSoapVersion());
         Boolean var10014 = this.getWssProcessingEnabled();
         String var10015 = String.valueOf(this.getMethodsAllowed());
         Boolean var10016 = this.getTracingEnabled();
         Boolean var10017 = this.getLaxResolution();
         String var10018 = String.valueOf(this.getProperties());
         String var1 = this.getChecksum();
         String var2 = var10018;
         Boolean var3 = var10017;
         Boolean var4 = var10016;
         String var5 = var10015;
         Boolean var6 = var10014;
         String var7 = var10013;
         Boolean var8 = var10012;
         String var9 = var10011;
         String var10 = var10010;
         boolean var11 = var10009;
         String var12 = var10008;
         String var13 = var10007;
         String var14 = var10006;
         String var15 = var10005;
         String var16 = var10004;
         String var17 = var10003;
         String var18 = var10002;
         String var19 = var10001;
         String var20 = var10000;
         String[] var21 = A;
         return var21[11]
            + var20
            + var21[14]
            + var19
            + var21[15]
            + var18
            + var21[12]
            + var17
            + var21[21]
            + var16
            + var21[7]
            + var15
            + var21[13]
            + var14
            + var21[10]
            + var13
            + var21[3]
            + var12
            + var21[2]
            + var11
            + var21[22]
            + var10
            + var21[24]
            + var9
            + var21[5]
            + var8
            + var21[4]
            + var7
            + var21[19]
            + var6
            + var21[9]
            + var5
            + var21[16]
            + var4
            + var21[8]
            + var3
            + var21[17]
            + var2
            + var21[6]
            + var1
            + ")";
      }

      @Generated
      @Override
      public boolean equals(Object var1) {
         if (var1 == this) {
            return true;
         } else if (!(var1 instanceof SoapServiceDTO.SoapServiceInput var2)) {
            return false;
         } else {
            if (!var2.canEqual(this)) {
               return false;
            }

            if (!super.equals(var1)) {
               return false;
            }

            if (this.isUpdateDocuments() != var2.isUpdateDocuments()) {
               return false;
            }

            Boolean var3 = this.getEnabled();
            Boolean var4 = var2.getEnabled();
            if (var3 == null ? var4 == null : var3.equals(var4)) {
               Boolean var5 = this.getWssProcessingEnabled();
               Boolean var6 = var2.getWssProcessingEnabled();
               if (var5 == null ? var6 == null : var5.equals(var6)) {
                  Boolean var7 = this.getTracingEnabled();
                  Boolean var8 = var2.getTracingEnabled();
                  if (var7 == null ? var8 == null : var7.equals(var8)) {
                     Boolean var9 = this.getLaxResolution();
                     Boolean var10 = var2.getLaxResolution();
                     if (var9 == null ? var10 == null : var9.equals(var10)) {
                        ResolverExecutionContext var11 = this.getExecutionContext();
                        ResolverExecutionContext var12 = var2.getExecutionContext();
                        if (var11 == null ? var12 == null : var11.equals(var12)) {
                           SoapServiceDTO.SoapServiceResolverInput var13 = this.getResolvers();
                           SoapServiceDTO.SoapServiceResolverInput var14 = var2.getResolvers();
                           if (var13 == null ? var14 == null : var13.equals(var14)) {
                              String var15 = this.getGuid();
                              String var16 = var2.getGuid();
                              if (var15 == null ? var16 == null : var15.equals(var16)) {
                                 String var17 = this.getFolderPath();
                                 String var18 = var2.getFolderPath();
                                 if (var17 == null ? var18 == null : var17.equals(var18)) {
                                    String var19 = this.getName();
                                    String var20 = var2.getName();
                                    if (var19 == null ? var20 == null : var19.equals(var20)) {
                                       String var21 = this.getWsdl();
                                       String var22 = var2.getWsdl();
                                       if (var21 == null ? var22 == null : var21.equals(var22)) {
                                          String var23 = this.getWsdlUrl();
                                          String var24 = var2.getWsdlUrl();
                                          if (var23 == null ? var24 == null : var23.equals(var24)) {
                                             List var25 = this.getWsdlResources();
                                             List var26 = var2.getWsdlResources();
                                             if (var25 == null ? var26 == null : var25.equals(var26)) {
                                                List var27 = this.getDocuments();
                                                List var28 = var2.getDocuments();
                                                if (var27 == null ? var28 == null : var27.equals(var28)) {
                                                   String var29 = this.getResolutionPath();
                                                   String var30 = var2.getResolutionPath();
                                                   if (var29 == null ? var30 == null : var29.equals(var30)) {
                                                      PolicyInput var31 = this.getPolicy();
                                                      PolicyInput var32 = var2.getPolicy();
                                                      if (var31 == null ? var32 == null : var31.equals(var32)) {
                                                         SoapVersion var33 = this.getSoapVersion();
                                                         SoapVersion var34 = var2.getSoapVersion();
                                                         if (var33 == null ? var34 == null : var33.equals(var34)) {
                                                            List var35 = this.getMethodsAllowed();
                                                            List var36 = var2.getMethodsAllowed();
                                                            if (var35 == null ? var36 == null : var35.equals(var36)) {
                                                               List var37 = this.getProperties();
                                                               List var38 = var2.getProperties();
                                                               if (var37 == null ? var38 == null : var37.equals(var38)) {
                                                                  String var39 = this.getChecksum();
                                                                  String var40 = var2.getChecksum();
                                                                  return var39 == null ? var40 == null : var39.equals(var40);
                                                               } else {
                                                                  return false;
                                                               }
                                                            } else {
                                                               return false;
                                                            }
                                                         } else {
                                                            return false;
                                                         }
                                                      } else {
                                                         return false;
                                                      }
                                                   } else {
                                                      return false;
                                                   }
                                                } else {
                                                   return false;
                                                }
                                             } else {
                                                return false;
                                             }
                                          } else {
                                             return false;
                                          }
                                       } else {
                                          return false;
                                       }
                                    } else {
                                       return false;
                                    }
                                 } else {
                                    return false;
                                 }
                              } else {
                                 return false;
                              }
                           } else {
                              return false;
                           }
                        } else {
                           return false;
                        }
                     } else {
                        return false;
                     }
                  } else {
                     return false;
                  }
               } else {
                  return false;
               }
            } else {
               return false;
            }
         }
      }

      @Generated
      @Override
      protected boolean canEqual(Object var1) {
         return var1 instanceof SoapServiceDTO.SoapServiceInput;
      }

      @Generated
      @Override
      public int hashCode() {
         byte var1 = 59;
         int var2 = super.hashCode();
         var2 = var2 * 59 + (this.isUpdateDocuments() ? 79 : 97);
         Boolean var3 = this.getEnabled();
         var2 = var2 * 59 + (var3 == null ? 43 : var3.hashCode());
         Boolean var4 = this.getWssProcessingEnabled();
         var2 = var2 * 59 + (var4 == null ? 43 : var4.hashCode());
         Boolean var5 = this.getTracingEnabled();
         var2 = var2 * 59 + (var5 == null ? 43 : var5.hashCode());
         Boolean var6 = this.getLaxResolution();
         var2 = var2 * 59 + (var6 == null ? 43 : var6.hashCode());
         ResolverExecutionContext var7 = this.getExecutionContext();
         var2 = var2 * 59 + (var7 == null ? 43 : var7.hashCode());
         SoapServiceDTO.SoapServiceResolverInput var8 = this.getResolvers();
         var2 = var2 * 59 + (var8 == null ? 43 : var8.hashCode());
         String var9 = this.getGuid();
         var2 = var2 * 59 + (var9 == null ? 43 : var9.hashCode());
         String var10 = this.getFolderPath();
         var2 = var2 * 59 + (var10 == null ? 43 : var10.hashCode());
         String var11 = this.getName();
         var2 = var2 * 59 + (var11 == null ? 43 : var11.hashCode());
         String var12 = this.getWsdl();
         var2 = var2 * 59 + (var12 == null ? 43 : var12.hashCode());
         String var13 = this.getWsdlUrl();
         var2 = var2 * 59 + (var13 == null ? 43 : var13.hashCode());
         List var14 = this.getWsdlResources();
         var2 = var2 * 59 + (var14 == null ? 43 : var14.hashCode());
         List var15 = this.getDocuments();
         var2 = var2 * 59 + (var15 == null ? 43 : var15.hashCode());
         String var16 = this.getResolutionPath();
         var2 = var2 * 59 + (var16 == null ? 43 : var16.hashCode());
         PolicyInput var17 = this.getPolicy();
         var2 = var2 * 59 + (var17 == null ? 43 : var17.hashCode());
         SoapVersion var18 = this.getSoapVersion();
         var2 = var2 * 59 + (var18 == null ? 43 : var18.hashCode());
         List var19 = this.getMethodsAllowed();
         var2 = var2 * 59 + (var19 == null ? 43 : var19.hashCode());
         List var20 = this.getProperties();
         var2 = var2 * 59 + (var20 == null ? 43 : var20.hashCode());
         String var21 = this.getChecksum();
         return var2 * 59 + (var21 == null ? 43 : var21.hashCode());
      }

      static {
         String[] var5 = new String[25];
         int var3 = 0;
         String var2 = "-\u000fXQ#!Y-\u0019\u000b,\u0005JN\u000e4H6\u0005EM\u0012sJ^N+6H:.D]::Y1\u001eX\u0003\fsJOQ,\"Q:\u0004_Mr\u000esJXQ.'j:\u0018XW 9\u0001\nsJNP.5P:\u000e\u0016\u000bsJHV*4W,\u001fF\u0003\u0007sJ\\M+;\u0001\u0010sJG_7\u0005Y,\u0005GK;>S1W\u0011sJF[;?S;\u0019jR#8K:\u000e\u0016\u0010sJ\\M+;n:\u0019DK=4Y,W1\f\u0005JN\u001c2N)\u0003H[\u000b\u0003sq9D_?\u0004Y-\u001cB]*\u001eR/\u001f_\u0016*/Y<\u001f_W 9\u007f0\u0004_[7#\u0001\rsJMQ#3Y-:JJ'j\nsJ\\M+;i-\u0006\u0016\fsJY[<8P)\u000fYMr\u0007sJLK&3\u0001\u0011sJ_L.4U1\rnP.5P:\u000e\u0016\rsJ[L 'Y-\u001eB[<j\n,\u0005JN\u000e4H6\u0005E\u0017sJ\\M<\u0007N0\tNM<>R8/E_-;Y;W\u0007=\u000bX[\u001a%U\u0007sJE_\"2\u0001\u0011sJY[<8P*\u001eBQ!\u0007]+\u0002\u0016";
         int var4 = "-\u000fXQ#!Y-\u0019\u000b,\u0005JN\u000e4H6\u0005EM\u0012sJ^N+6H:.D]::Y1\u001eX\u0003\fsJOQ,\"Q:\u0004_Mr\u000esJXQ.'j:\u0018XW 9\u0001\nsJNP.5P:\u000e\u0016\u000bsJHV*4W,\u001fF\u0003\u0007sJ\\M+;\u0001\u0010sJG_7\u0005Y,\u0005GK;>S1W\u0011sJF[;?S;\u0019jR#8K:\u000e\u0016\u0010sJ\\M+;n:\u0019DK=4Y,W1\f\u0005JN\u001c2N)\u0003H[\u000b\u0003sq9D_?\u0004Y-\u001cB]*\u001eR/\u001f_\u0016*/Y<\u001f_W 9\u007f0\u0004_[7#\u0001\rsJMQ#3Y-:JJ'j\nsJ\\M+;i-\u0006\u0016\fsJY[<8P)\u000fYMr\u0007sJLK&3\u0001\u0011sJ_L.4U1\rnP.5P:\u000e\u0016\rsJ[L 'Y-\u001eB[<j\n,\u0005JN\u000e4H6\u0005E\u0017sJ\\M<\u0007N0\tNM<>R8/E_-;Y;W\u0007=\u000bX[\u001a%U\u0007sJE_\"2\u0001\u0011sJY[<8P*\u001eBQ!\u0007]+\u0002\u0016"
            .length();
         char var1 = '\t';
         int var7 = -1;

         label24:
         while (true) {
            byte var10000 = 90;
            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) {
                        A = var5;
                        return;
                     }

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

                     var2 = "Hj=4FD<H|\t\u0016/>4F[:C2";
                     var4 = "Hj=4FD<H|\t\u0016/>4F[:C2".length();
                     var1 = '\t';
                     var7 = -1;
               }

               var10000 = 63;
               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] ^ 102);
         }

         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 -> 5;
               case 1 -> 48;
               case 2 -> 113;
               case 3 -> 100;
               case 4 -> 21;
               case 5 -> 13;
               default -> 102;
            });
         }

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

   public static class SoapServiceMappingInstructionInput extends BundleEntityMappingInput {
      private SoapServiceDTO.SoapServiceRefInput f;
      private static final String h;

      @Generated
      public SoapServiceDTO.SoapServiceRefInput getSource() {
         return this.f;
      }

      @Generated
      public void setSource(SoapServiceDTO.SoapServiceRefInput var1) {
         this.f = var1;
      }

      @Generated
      @Override
      public String toString() {
         return h + this.getSource() + ")";
      }

      @Generated
      @Override
      public boolean equals(Object var1) {
         if (var1 == this) {
            return true;
         } else if (!(var1 instanceof SoapServiceDTO.SoapServiceMappingInstructionInput var2)) {
            return false;
         } else {
            if (!var2.canEqual(this)) {
               return false;
            }

            SoapServiceDTO.SoapServiceRefInput var3 = this.getSource();
            SoapServiceDTO.SoapServiceRefInput var4 = var2.getSource();
            return var3 == null ? var4 == null : var3.equals(var4);
         }
      }

      @Generated
      @Override
      protected boolean canEqual(Object var1) {
         return var1 instanceof SoapServiceDTO.SoapServiceMappingInstructionInput;
      }

      @Generated
      @Override
      public int hashCode() {
         byte var1 = 59;
         byte var2 = 1;
         SoapServiceDTO.SoapServiceRefInput var3 = this.getSource();
         return var2 * 59 + (var3 == null ? 43 : var3.hashCode());
      }

      static {
         String var10002 = b(29, b("R(p`010w.ru'\u0000\r/\u0014~q\u0013\u0007's1xs\u0006\u0019#q7x~\u0004\u001d,r3ce\u0000 +n)X~\u0013!6)4~e\u00117'<"));
         byte var10001 = -1;
         h = var10002;
      }

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

         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 -> 28;
               case 1 -> 90;
               case 2 -> 12;
               case 3 -> 13;
               case 4 -> 126;
               case 5 -> 73;
               default -> 95;
            });
         }

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

   public static class SoapServiceRefInput {
      private String a;
      private SoapServiceDTO.SoapServiceResolverInput b;
      private static final String[] c;

      @Generated
      public String getResolutionPath() {
         return this.a;
      }

      @Generated
      public SoapServiceDTO.SoapServiceResolverInput getResolvers() {
         return this.b;
      }

      @Generated
      public void setResolutionPath(String var1) {
         this.a = var1;
      }

      @Generated
      public void setResolvers(SoapServiceDTO.SoapServiceResolverInput var1) {
         this.b = var1;
      }

      @Generated
      @Override
      public boolean equals(Object var1) {
         if (var1 == this) {
            return true;
         } else if (!(var1 instanceof SoapServiceDTO.SoapServiceRefInput var2)) {
            return false;
         } else if (!var2.canEqual(this)) {
            return false;
         } else {
            String var3 = this.getResolutionPath();
            String var4 = var2.getResolutionPath();
            if (var3 == null ? var4 == null : var3.equals(var4)) {
               SoapServiceDTO.SoapServiceResolverInput var5 = this.getResolvers();
               SoapServiceDTO.SoapServiceResolverInput var6 = var2.getResolvers();
               return var5 == null ? var6 == null : var5.equals(var6);
            } else {
               return false;
            }
         }
      }

      @Generated
      protected boolean canEqual(Object var1) {
         return var1 instanceof SoapServiceDTO.SoapServiceRefInput;
      }

      @Generated
      @Override
      public int hashCode() {
         byte var1 = 59;
         int var2 = 1;
         String var3 = this.getResolutionPath();
         var2 = var2 * 59 + (var3 == null ? 43 : var3.hashCode());
         SoapServiceDTO.SoapServiceResolverInput var4 = this.getResolvers();
         return var2 * 59 + (var4 == null ? 43 : var4.hashCode());
      }

      @Generated
      @Override
      public String toString() {
         String var10000 = this.getResolutionPath();
         String var10001 = String.valueOf(this.getResolvers());
         String[] var1 = c;
         return var1[0] + var10000 + var1[1] + var10001 + ")";
      }

      static {
         String[] var5 = new String[2];
         int var3 = 0;
         String var2 = "z\u0005s}d\r>_\u0003qhs<\u0003\u00079}lG;)[\u001c{nR:)O#|}B\u001cd[\u000fab[\u001d8@\u0005|]V\u001c$\u0014\f\u0005J`hD\u0007 _\u000f`~\n";
         int var4 = "z\u0005s}d\r>_\u0003qhs<\u0003\u00079}lG;)[\u001c{nR:)O#|}B\u001cd[\u000fab[\u001d8@\u0005|]V\u001c$\u0014\f\u0005J`hD\u0007 _\u000f`~\n"
            .length();
         char var1 = '2';
         int var0 = -1;

         while (true) {
            String var10002 = a(77, a(var2.substring(++var0, var0 + var1)));
            byte var10001 = -1;
            var5[var3++] = var10002;
            if ((var0 += var1) >= var4) {
               c = var5;
               return;
            }

            var1 = var2.charAt(var0);
         }
      }

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

         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 -> 100;
               case 1 -> 39;
               case 2 -> 95;
               case 3 -> 64;
               case 4 -> 122;
               case 5 -> 37;
               default -> 1;
            });
         }

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

   public static class SoapServiceResolverInput extends EntityInput {
      String g;
      List<String> h;
      String i;
      String j;
      private static final String[] k;

      public String getNormalizedResolutionPath() {
         return k[0].equals(this.j) ? "" : this.j;
      }

      public String getNormalizedSoapAction() {
         if (Util.isNotEmpty(this.g)) {
            return this.g;
         } else {
            return Util.isNotEmpty(this.h) ? this.h.get(0) : null;
         }
      }

      public static Map<String, Object> toMap(SoapServiceDTO.SoapServiceResolverInput var0) {
         HashMap var1 = new HashMap();
         String[] var2 = k;
         var1.put(var2[7], var0.getSoapAction());
         var1.put(var2[1], var0.getBaseUri());
         var1.put(var2[3], var0.getResolutionPath());
         var1.put(var2[8], var0.getSoapActions());
         return var1;
      }

      public static SoapServiceDTO.SoapServiceResolverInput fromMap(Object var0) {
         if (var0 instanceof Map var1) {
            SoapServiceDTO.SoapServiceResolverInput var2 = new SoapServiceDTO.SoapServiceResolverInput();
            String[] var3 = k;
            var2.setSoapAction(a(var1.get(var3[5])));
            var2.setBaseUri(a(var1.get(var3[6])));
            var2.setResolutionPath(a(var1.get(var3[12])));
            var2.setSoapActions(b(var1.get(var3[10])));
            return var2;
         } else {
            return null;
         }
      }

      private static String a(Object var0) {
         return var0 != null ? String.valueOf(var0) : null;
      }

      private static List<String> b(Object var0) {
         return var0 instanceof List var1 ? var1.stream().map(SoapServiceDTO.SoapServiceResolverInput::a).collect(Collectors.toList()) : null;
      }

      @Generated
      public String getSoapAction() {
         return this.g;
      }

      @Generated
      public List<String> getSoapActions() {
         return this.h;
      }

      @Generated
      public String getBaseUri() {
         return this.i;
      }

      @Generated
      public String getResolutionPath() {
         return this.j;
      }

      @Generated
      public void setSoapAction(String var1) {
         this.g = var1;
      }

      @Generated
      public void setSoapActions(List<String> var1) {
         this.h = var1;
      }

      @Generated
      public void setBaseUri(String var1) {
         this.i = var1;
      }

      @Generated
      public void setResolutionPath(String var1) {
         this.j = var1;
      }

      @Generated
      @Override
      public String toString() {
         String var10000 = this.getSoapAction();
         String var10001 = String.valueOf(this.getSoapActions());
         String var1 = this.getResolutionPath();
         String var2 = this.getBaseUri();
         String var3 = var10001;
         String var4 = var10000;
         String[] var5 = k;
         return var5[11] + var4 + var5[4] + var3 + var5[9] + var2 + var5[2] + var1 + ")";
      }

      @Generated
      @Override
      public boolean equals(Object var1) {
         if (var1 == this) {
            return true;
         } else if (!(var1 instanceof SoapServiceDTO.SoapServiceResolverInput var2)) {
            return false;
         } else {
            if (!var2.canEqual(this)) {
               return false;
            }

            if (!super.equals(var1)) {
               return false;
            }

            String var3 = this.getSoapAction();
            String var4 = var2.getSoapAction();
            if (var3 == null ? var4 == null : var3.equals(var4)) {
               List var5 = this.getSoapActions();
               List var6 = var2.getSoapActions();
               if (var5 == null ? var6 == null : var5.equals(var6)) {
                  String var7 = this.getBaseUri();
                  String var8 = var2.getBaseUri();
                  if (var7 == null ? var8 == null : var7.equals(var8)) {
                     String var9 = this.getResolutionPath();
                     String var10 = var2.getResolutionPath();
                     return var9 == null ? var10 == null : var9.equals(var10);
                  } else {
                     return false;
                  }
               } else {
                  return false;
               }
            } else {
               return false;
            }
         }
      }

      @Generated
      @Override
      protected boolean canEqual(Object var1) {
         return var1 instanceof SoapServiceDTO.SoapServiceResolverInput;
      }

      @Generated
      @Override
      public int hashCode() {
         byte var1 = 59;
         int var2 = super.hashCode();
         String var3 = this.getSoapAction();
         var2 = var2 * 59 + (var3 == null ? 43 : var3.hashCode());
         List var4 = this.getSoapActions();
         var2 = var2 * 59 + (var4 == null ? 43 : var4.hashCode());
         String var5 = this.getBaseUri();
         var2 = var2 * 59 + (var5 == null ? 43 : var5.hashCode());
         String var6 = this.getResolutionPath();
         return var2 * 59 + (var6 == null ? 43 : var6.hashCode());
      }

      static {
         String[] var5 = new String[13];
         int var3 = 0;
         String var2 = "\u0003i HTj\u0012Mj\u0007N{ J.k\u0014\u0011\u0000:!J\bv\u0011Yn:@\u0015I\u001cXrn\u000e^\u007f @\u0017l\tEu=\u007f\u001am\u0015\u000e\u0000: @\u001ai<On:@\u0015j@\n_u2_:z\tEu=\u0007N{ J.k\u0014\n_u2_:z\tEu=\u000b_u2_:z\tEu=\\\n\u0000:1N\b|(^sn\u000b_u2_:z\tEu=\\";
         int var4 = "\u0003i HTj\u0012Mj\u0007N{ J.k\u0014\u0011\u0000:!J\bv\u0011Yn:@\u0015I\u001cXrn\u000e^\u007f @\u0017l\tEu=\u007f\u001am\u0015\u000e\u0000: @\u001ai<On:@\u0015j@\n_u2_:z\tEu=\u0007N{ J.k\u0014\n_u2_:z\tEu=\u000b_u2_:z\tEu=\\\n\u0000:1N\b|(^sn\u000b_u2_:z\tEu=\\"
            .length();
         char var1 = '\t';
         int var7 = -1;

         label24:
         while (true) {
            byte var10000 = 33;
            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) {
                        k = var5;
                        return;
                     }

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

                     var2 = "ZP\u0017z\rY*\u007fV\u0015o\u001ah\u0017'l\u0019k.o={I\u001fi;n=zP\u001a|;N\u0011gO\u0003~vO7hO7i*U7g\u0002\u000e{Z\u0005e2I,`P\u0018Z?H0";
                     var4 = "ZP\u0017z\rY*\u007fV\u0015o\u001ah\u0017'l\u0019k.o={I\u001fi;n=zP\u001a|;N\u0011gO\u0003~vO7hO7i*U7g\u0002\u000e{Z\u0005e2I,`P\u0018Z?H0"
                        .length();
                     var1 = '3';
                     var7 = -1;
               }

               var10000 = 4;
               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] ^ 92);
         }

         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 -> 13;
               case 1 -> 59;
               case 2 -> 114;
               case 3 -> 14;
               case 4 -> 90;
               case 5 -> 56;
               default -> 92;
            });
         }

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

   @JsonIncludeProperties(
      {
            "name",
            "resolutionPath",
            "folderPath",
            "httpMethods",
            "hashablePolicyXml",
            "wsdl",
            "wssProcessingEnabled",
            "tracingEnabled",
            "rawProperties",
            "laxResolution",
            "soapVersion",
            "enabled",
            "wsdlUrl",
            "wsdlResources"
      }
   )
   @JsonPropertyOrder(
      {
            "name",
            "resolutionPath",
            "folderPath",
            "httpMethods",
            "hashablePolicyXml",
            "wsdl",
            "wssProcessingEnabled",
            "tracingEnabled",
            "rawProperties",
            "laxResolution",
            "soapVersion",
            "enabled",
            "wsdlUrl",
            "wsdlResources"
      }
   )
   public static final class SoapServiceWrapper extends SoapServiceDTO {
      private final AtomicReference<String> f = new AtomicReference<>(null);
      private static final String i;

      public SoapServiceWrapper(@NonNull PublishedService var1, ServiceDocumentHelper var2) {
         super(var1, var2);
         if (var1 == null) {
            throw new NullPointerException(i);
         }
      }

      public List<HttpMethod> getHttpMethods() {
         ArrayList var1 = new ArrayList(this.entity.getHttpMethodsReadOnly());
         Collections.sort(var1);
         return var1;
      }

      public String getHashablePolicyXml() {
         this.f.compareAndSet(null, Util.hashablePolicyXML(this.entity.getPolicy().getXml()));
         return this.f.get();
      }

      @JsonPropertyOrder(alphabetic = true)
      public List<EntityProperty> getRawProperties() {
         return super.getProperties();
      }

      @Override
      protected Object createWrapperObject() {
         return null;
      }

      static {
         String var10002 = c(17, c("TZN\u0012QszXG\u001a\u0016Dx1TP\u001a\u0015Jdw_AV\u0017\u0005h/E\u0014S\b\u0005d/]X"));
         byte var10001 = -1;
         i = var10002;
      }

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

         return var10000;
      }

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

         for (int var2 = 0; var10000 > var2; var2++) {
            var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
               case 0 -> 32;
               case 1 -> 37;
               case 2 -> 43;
               case 3 -> 106;
               case 4 -> 52;
               case 5 -> 27;
               default -> 75;
            });
         }

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

   public static class SoapServicesPayload extends EntityMutationsPayload<SoapServiceDTO> {
      public List<SoapServiceDTO> getSoapServices() {
         return super.getItems();
      }
   }
}
