package com.l7tech.objectmodel;

import com.l7tech.objectmodel.migration.MigrationMappingSelection;
import com.l7tech.util.HexUtils;
import com.l7tech.util.TextUtils;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlTransient;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

@XmlRootElement
public class ExternalEntityHeader extends EntityHeader implements ValueMappable {
   private static final String VALUE_MAPPING_SELECTION;
   private static final String VALUE_MAPPING_DATA_TYPE;
   private static final String DISPLAY_VALUE;
   private static final String MAPPED_VALUE;
   protected static final String MAPPING_KEY;
   private String externalId;
   protected Map<String, String> extraProperties = new HashMap<>();
   static final long serialVersionUID = 4355648421312840070L;
   private static final String[] c;

   public ExternalEntityHeader() {
   }

   public ExternalEntityHeader(String var1, EntityType var2, String var3, String var4, String var5, Integer var6) {
      super(var3, var2, var4, var5, var6);
      this.externalId = var1;
   }

   public ExternalEntityHeader(String var1, EntityHeader var2) {
      this(var1, var2.getType(), var2.getStrId(), var2.getName(), var2.getDescription(), var2.getVersion());
   }

   public ExternalEntityHeader(ExternalEntityHeader var1) {
      this(var1.getExternalId(), var1.getType(), var1.getStrId(), var1.getName(), var1.getDescription(), var1.getVersion());
      this.extraProperties = new HashMap<>(var1.extraProperties);
   }

   public String getExternalId() {
      return this.externalId;
   }

   public void setExternalId(String var1) {
      this.externalId = var1;
   }

   @XmlJavaTypeAdapter(JaxbMapType.JaxbMapTypeAdapter.class)
   public Map<String, String> getExtraProperties() {
      return this.extraProperties;
   }

   public void setExtraProperties(Map<String, String> var1) {
      this.extraProperties = var1;
   }

   public void addExtraProperties(Map<String, String> var1) {
      for (Entry var3 : var1.entrySet()) {
         if (!this.extraProperties.containsKey(var3.getKey())) {
            this.extraProperties.put((String)var3.getKey(), (String)var3.getValue());
         }
      }
   }

   public void setProperty(String var1, String var2) {
      this.extraProperties.put(var1, var2);
   }

   public String getProperty(String var1) {
      return this.extraProperties.get(var1);
   }

   public String getDisplayName() {
      if (this.extraProperties != null) {
         String[] var1 = c;
         if (this.extraProperties.containsKey(var1[12])) {
            return this.extraProperties.get(var1[6]);
         }
      }

      return this.getName();
   }

   public String getDisplayNameWithScope() {
      String var1 = this.getDisplayName();
      StringBuffer var2 = new StringBuffer(var1 == null ? "" : var1);
      if (this.extraProperties != null) {
         String[] var3 = c;
         if (this.extraProperties.containsKey(var3[5])) {
            var2.append(var3[2]).append(this.extraProperties.get(var3[14])).append("]");
         }
      }

      if (this.isValueMappable()) {
         String[] var4 = c;
         var2.append(var4[10]).append(this.getValueType().getName()).append(var4[9]).append(TextUtils.truncStringMiddleExact(this.getDisplayValue(), 128));
      }

      return var2.toString();
   }

   public Set<ExternalEntityHeader> getValueMappableHeaders() {
      HashSet var1 = new HashSet();
      Object[] var2 = this.getMappableValues();
      if (var2 != null) {
         ExternalEntityHeader.ValueType var3 = this.getValueType();
         ExternalEntityHeader.ValueType var4 = var3.getArrayBaseType();

         for (Object var8 : var2) {
            ExternalEntityHeader var9 = new ExternalEntityHeader(this);
            var9.setValueType(var4);
            String var10 = var4.serialize(var8);
            var9.setDisplayValue(var10);
            var9.setProperty(c[11], this.computeMappingKey(var10));
            var1.add(var9);
         }
      } else if (this.isValueMappable()) {
         var1.add(this);
      }

      return var1;
   }

   public Object[] getMappableValues() {
      return this.isValueMappable() && this.getValueType().isArray() && this.hasDisplayValue()
         ? (Object[])this.getValueType().deserialize(this.getDisplayValue())
         : null;
   }

   @Override
   public void setValueMapping(MigrationMappingSelection var1, ExternalEntityHeader.ValueType var2, Object var3) {
      String[] var4 = c;
      this.setProperty(var4[15], var1.name());
      if (var1 != MigrationMappingSelection.NONE) {
         this.setProperty(var4[0], var2.name());
         this.setProperty(var4[4], var2.serialize(var3));
         this.setProperty(var4[3], this.computeMappingKey());
      }
   }

   private String computeMappingKey() {
      return !this.isValueMappable() ? this.externalId : this.computeMappingKey(this.hasDisplayValue() ? this.getDisplayValue() : "");
   }

   protected String computeMappingKey(String var1) {
      return this.externalId + ":" + this.getValueType() + ":" + HexUtils.encodeBase64(HexUtils.getMd5Digest(HexUtils.encodeUtf8(var1)));
   }

   @XmlTransient
   @Override
   public MigrationMappingSelection getValueMapping() {
      String[] var1 = c;
      return this.getProperty(var1[13]) == null ? MigrationMappingSelection.NONE : MigrationMappingSelection.valueOf(this.getProperty(c[13]));
   }

   public boolean isValueMappable() {
      return MigrationMappingSelection.NONE != this.getValueMapping();
   }

   @Override
   public void setValueType(ExternalEntityHeader.ValueType var1) {
      this.setProperty(c[1], var1.name());
   }

   @XmlTransient
   @Override
   public ExternalEntityHeader.ValueType getValueType() {
      return ExternalEntityHeader.ValueType.valueOf(this.getProperty(c[0]));
   }

   @Override
   public void setDisplayValue(String var1) {
      this.setProperty(c[7], var1);
   }

   @XmlTransient
   @Override
   public String getDisplayValue() {
      return this.getProperty(c[7]);
   }

   public boolean hasDisplayValue() {
      return this.getProperty(c[7]) != null;
   }

   @Override
   public void setMappedValue(String var1) {
      this.setProperty(c[16], var1);
   }

   @XmlTransient
   @Override
   public String getMappedValue() {
      return this.getProperty(c[8]);
   }

   public String getMappingKey() {
      return this.isValueMappable() ? this.getProperty(c[11]) : this.externalId;
   }

   @Override
   public boolean equals(Object var1) {
      if (this == var1) {
         return true;
      }

      if (var1 != null && this.getClass() == var1.getClass()) {
         ExternalEntityHeader var2 = (ExternalEntityHeader)var1;
         if (this.type != var2.type) {
            return false;
         }

         if (this.version != null ? this.version.equals(var2.version) : var2.version == null) {
            if (this.externalId != null ? this.externalId.equals(var2.externalId) : var2.externalId == null) {
               if (this.getValueMapping() != var2.getValueMapping()) {
                  return false;
               }

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

                  if (this.getDisplayValue() != null ? !this.getDisplayValue().equals(var2.getDisplayValue()) : var2.getDisplayValue() != null) {
                     return false;
                  }
               }

               return true;
            } else {
               return false;
            }
         } else {
            return false;
         }
      } else {
         return false;
      }
   }

   @Override
   public int hashCode() {
      int var1 = this.externalId != null ? this.externalId.hashCode() : 0;
      var1 = 31 * var1 + (this.type != null ? this.type.hashCode() : 0);
      var1 = 31 * var1 + (this.version != null ? this.version.hashCode() : 0);
      var1 = 31 * var1 + this.getValueMapping().hashCode();
      if (this.isValueMappable()) {
         var1 = 31 * var1 + this.getValueType().hashCode();
         var1 = 31 * var1 + (this.getDisplayValue() != null ? this.getDisplayValue().hashCode() : 0);
      }

      return var1;
   }

   static {
      String[] var5 = new String[17];
      int var3 = 0;
      String var2 = "IBj\u0001\u0002F.OSo\u001a\u0000O.KBR\r\u0017n\u0014IBj\u0001\u0002F.OSo\u001a\u0000O.KBR\r\u0017n\u0002\u001fx\nRBv\u0004\u000ee(tF\u007f\f[Ju\u0004\u000bj6iBj\u0001\u0002\nl@i\u0004\u0002+\u0001^Nc\f{Ju\u0004\u000bj6\u001fmg\u0019\u0002\f[Ju\u0004\u000bj6iBj\u0001\u0002\u000bRBv\u0004\u0002o\u0019^Os\u0011\u0002\u0005\u0003\u0002\u0013\u0003\nRBv\u0004\u000ee(tF\u007f\f{Ju\u0004\u000bj6\u001fmg\u0019\u0002\fIBj\u0001\u0002F.OSo\u001a\u0000\nl@i\u0004\u0002+\u0001^Nc";
      int var4 = "IBj\u0001\u0002F.OSo\u001a\u0000O.KBR\r\u0017n\u0014IBj\u0001\u0002F.OSo\u001a\u0000O.KBR\r\u0017n\u0002\u001fx\nRBv\u0004\u000ee(tF\u007f\f[Ju\u0004\u000bj6iBj\u0001\u0002\nl@i\u0004\u0002+\u0001^Nc\f{Ju\u0004\u000bj6\u001fmg\u0019\u0002\f[Ju\u0004\u000bj6iBj\u0001\u0002\u000bRBv\u0004\u0002o\u0019^Os\u0011\u0002\u0005\u0003\u0002\u0013\u0003\nRBv\u0004\u000ee(tF\u007f\f{Ju\u0004\u000bj6\u001fmg\u0019\u0002\fIBj\u0001\u0002F.OSo\u001a\u0000\nl@i\u0004\u0002+\u0001^Nc"
         .length();
      char var1 = 20;
      int var7 = -1;

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

         while (true) {
            String var8 = c(var10000, c(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     c = var5;
                     String[] var9 = c;
                     MAPPED_VALUE = c[16];
                     MAPPING_KEY = var9[11];
                     VALUE_MAPPING_SELECTION = var9[13];
                     DISPLAY_VALUE = var9[7];
                     VALUE_MAPPING_DATA_TYPE = var9[0];
                     return;
                  }

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

                  var2 = "%.\u0006mn*B#?\u0003vl\u000b>.\u001ahn\u0003u2#\u001f}";
                  var4 = "%.\u0006mn*B#?\u0003vl\u000b>.\u001ahn\u0003u2#\u001f}".length();
                  var1 = '\f';
                  var7 = -1;
            }

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

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

      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 -> 87;
            case 1 -> 75;
            case 2 -> 110;
            case 3 -> 28;
            case 4 -> 15;
            case 5 -> 99;
            default -> 39;
         });
      }

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

   public enum ValueType {
      TEXT,
      TEXT_ARRAY,
      HTTP_URL,
      HTTP_URL_ARRAY,
      IP_ADDRESS,
      IP_ADDRESS_ARRAY;

      private String name;
      private ExternalEntityHeader.ValueType arrayBaseType;
      private boolean stringBaseType;
      private static final String[] a;

      public String serialize(Object var1) {
         try {
            if (!this.stringBaseType) {
               throw new UnsupportedOperationException(a[0]);
            }
         } catch (UnsupportedOperationException var2) {
            throw a(var2);
         }

         try {
            if (this.isArray()) {
               return serializeStringArray(var1);
            }
         } catch (UnsupportedOperationException var3) {
            throw a(var3);
         }

         return serializeString(var1);
      }

      public Object deserialize(String var1) {
         try {
            if (!this.stringBaseType) {
               throw new UnsupportedOperationException(a[9]);
            }
         } catch (UnsupportedOperationException var2) {
            throw a(var2);
         }

         try {
            if (this.isArray()) {
               return deserializeStringArray(var1);
            }
         } catch (UnsupportedOperationException var3) {
            throw a(var3);
         }

         return deserializeString(var1);
      }

      ValueType(String var3, ExternalEntityHeader.ValueType var4, boolean var5) {
         this.name = var3;
         this.arrayBaseType = var4;
         this.stringBaseType = var5;
      }

      public String getName() {
         return this.name;
      }

      public ExternalEntityHeader.ValueType getArrayBaseType() {
         return this.arrayBaseType;
      }

      public boolean isArray() {
         try {
            if (this.arrayBaseType != null) {
               return true;
            }
         } catch (UnsupportedOperationException var1) {
            throw a(var1);
         }

         return false;
      }

      public boolean isStringBaseType() {
         return this.stringBaseType;
      }

      private static String serializeString(Object 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: instanceof java/lang/String
         // 04: ifeq 10
         // 07: aload 0
         // 08: checkcast java/lang/String
         // 0b: areturn
         // 0c: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 0f: athrow
         // 10: aload 0
         // 11: ifnull 56
         // 14: aload 0
         // 15: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
         // 18: invokevirtual java/lang/Class.isArray ()Z
         // 1b: ifeq 56
         // 1e: goto 25
         // 21: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 24: athrow
         // 25: ldc java/lang/String
         // 27: aload 0
         // 28: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
         // 2b: invokevirtual java/lang/Class.getComponentType ()Ljava/lang/Class;
         // 2e: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
         // 31: ifeq 56
         // 34: goto 3b
         // 37: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 3a: athrow
         // 3b: aload 0
         // 3c: checkcast [Ljava/lang/String;
         // 3f: arraylength
         // 40: bipush 1
         // 41: if_icmpne 56
         // 44: goto 4b
         // 47: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 4a: athrow
         // 4b: aload 0
         // 4c: checkcast [Ljava/lang/String;
         // 4f: bipush 0
         // 50: aaload
         // 51: areturn
         // 52: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 55: athrow
         // 56: new java/lang/IllegalArgumentException
         // 59: dup
         // 5a: aload 0
         // 5b: ifnonnull 66
         // 5e: aconst_null
         // 5f: goto 6a
         // 62: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 65: athrow
         // 66: aload 0
         // 67: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
         // 6a: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
         // 6d: getstatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a [Ljava/lang/String;
         // 70: bipush 2
         // 71: aaload
         // 72: swap
         // 73: 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" ]
         // 78: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
         // 7b: athrow
         // try (0 -> 6): 6 java/lang/UnsupportedOperationException
         // try (8 -> 14): 15 java/lang/UnsupportedOperationException
         // try (10 -> 23): 24 java/lang/UnsupportedOperationException
         // try (17 -> 31): 32 java/lang/UnsupportedOperationException
         // try (26 -> 39): 39 java/lang/UnsupportedOperationException
         // try (41 -> 47): 47 java/lang/UnsupportedOperationException
      }

      private static Object deserializeString(String var0) {
         return var0;
      }

      private static String serializeStringArray(Object 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: ifnonnull 0a
         // 04: aconst_null
         // 05: areturn
         // 06: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 09: athrow
         // 0a: aload 0
         // 0b: ifnull 24
         // 0e: ldc java/lang/String
         // 10: aload 0
         // 11: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
         // 14: invokevirtual java/lang/Class.getComponentType ()Ljava/lang/Class;
         // 17: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
         // 1a: ifne 51
         // 1d: goto 24
         // 20: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 23: athrow
         // 24: new java/lang/IllegalArgumentException
         // 27: dup
         // 28: aload 0
         // 29: ifnonnull 3b
         // 2c: goto 33
         // 2f: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 32: athrow
         // 33: aconst_null
         // 34: goto 3f
         // 37: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 3a: athrow
         // 3b: aload 0
         // 3c: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
         // 3f: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
         // 42: getstatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a [Ljava/lang/String;
         // 45: bipush 4
         // 46: aaload
         // 47: swap
         // 48: 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" ]
         // 4d: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
         // 50: athrow
         // 51: new java/lang/StringBuilder
         // 54: dup
         // 55: aload 0
         // 56: checkcast [Ljava/lang/String;
         // 59: invokestatic java/util/Arrays.toString ([Ljava/lang/Object;)Ljava/lang/String;
         // 5c: invokespecial java/lang/StringBuilder.<init> (Ljava/lang/String;)V
         // 5f: astore 1
         // 60: aload 1
         // 61: bipush 0
         // 62: invokevirtual java/lang/StringBuilder.charAt (I)C
         // 65: bipush 91
         // 67: if_icmpne 77
         // 6a: aload 1
         // 6b: bipush 0
         // 6c: invokevirtual java/lang/StringBuilder.deleteCharAt (I)Ljava/lang/StringBuilder;
         // 6f: pop
         // 70: goto 77
         // 73: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 76: athrow
         // 77: aload 1
         // 78: aload 1
         // 79: invokevirtual java/lang/StringBuilder.length ()I
         // 7c: bipush 1
         // 7d: isub
         // 7e: invokevirtual java/lang/StringBuilder.charAt (I)C
         // 81: bipush 93
         // 83: if_icmpne 98
         // 86: aload 1
         // 87: aload 1
         // 88: invokevirtual java/lang/StringBuilder.length ()I
         // 8b: bipush 1
         // 8c: isub
         // 8d: invokevirtual java/lang/StringBuilder.deleteCharAt (I)Ljava/lang/StringBuilder;
         // 90: pop
         // 91: goto 98
         // 94: invokestatic com/l7tech/objectmodel/ExternalEntityHeader$ValueType.a (Ljava/lang/UnsupportedOperationException;)Ljava/lang/UnsupportedOperationException;
         // 97: athrow
         // 98: aload 1
         // 99: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
         // 9c: areturn
         // try (0 -> 4): 4 java/lang/UnsupportedOperationException
         // try (6 -> 14): 15 java/lang/UnsupportedOperationException
         // try (8 -> 21): 22 java/lang/UnsupportedOperationException
         // try (17 -> 26): 26 java/lang/UnsupportedOperationException
         // try (45 -> 54): 55 java/lang/UnsupportedOperationException
         // try (57 -> 72): 73 java/lang/UnsupportedOperationException
      }

      private static Object deserializeStringArray(String var0) {
         try {
            if (var0 == null) {
               return null;
            }
         } catch (UnsupportedOperationException var3) {
            throw a(var3);
         }

         try {
            if (var0.length() == 0) {
               return new String[0];
            }
         } catch (UnsupportedOperationException var5) {
            throw a(var5);
         }

         String[] var1 = var0.split(",");
         int var2 = 0;

         try {
            while (var2 < var1.length) {
               var1[var2] = var1[var2].trim();
               var2++;
            }

            return var1;
         } catch (UnsupportedOperationException var4) {
            throw a(var4);
         }
      }

      // $VF: Failed to inline enum fields
      // 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!)
      static {
         String[] var5 = new String[16];
         int var3 = 0;
         String var2 = "Fg|;\u0015r5ocz;\u001bp|zd.<\u001bp|fv|;\u001ayqwc}7\u0010>(lrk!Tp3a\"g?\u0004r9xg`&\u0011z\u0004AGV\u0006G\\lx3\u0018w85to>\u0001{|a{~7O>9mrk1\u0000{85Qz \u001dp;5m|r'j.|li\t)>+|vfr\u001bp95gb7\u0019{2a..5\u001bjf5\nEno;\u001a>\bpzz,\\lx3\u0018w85to>\u0001{|a{~7O>9mrk1\u0000{85Qz \u001dp;N_\"r\u0013q(/\"\u000b]VZ\u0002\\Mu5W\\\u001e\u000f\\R.\u0013\u0010z.pq}r8w/a\u000e]VZ\u0002+K\u000eY]O\u0000&_\u0005\u0010\\RQ\u00130Z\u000ePQ]\r5L\u000eT[9Qg}7\u0006w=ykt3\u0000w3{\"a4Tp3{\"}&\u0006w2r/l3\u0007{85vw\"\u0011m|{mzr\u001ds,ygc7\u001aj9q\nEno;\u001a>\bpzz\b@PBr8w/a\n\\R.\u0013\u0010z.pq}\n\\RQ\u00130Z\u000ePQ]";
         int var4 = "Fg|;\u0015r5ocz;\u001bp|zd.<\u001bp|fv|;\u001ayqwc}7\u0010>(lrk!Tp3a\"g?\u0004r9xg`&\u0011z\u0004AGV\u0006G\\lx3\u0018w85to>\u0001{|a{~7O>9mrk1\u0000{85Qz \u001dp;5m|r'j.|li\t)>+|vfr\u001bp95gb7\u0019{2a..5\u001bjf5\nEno;\u001a>\bpzz,\\lx3\u0018w85to>\u0001{|a{~7O>9mrk1\u0000{85Qz \u001dp;N_\"r\u0013q(/\"\u000b]VZ\u0002\\Mu5W\\\u001e\u000f\\R.\u0013\u0010z.pq}r8w/a\u000e]VZ\u0002+K\u000eY]O\u0000&_\u0005\u0010\\RQ\u00130Z\u000ePQ]\r5L\u000eT[9Qg}7\u0006w=ykt3\u0000w3{\"a4Tp3{\"}&\u0006w2r/l3\u0007{85vw\"\u0011m|{mzr\u001ds,ygc7\u001aj9q\nEno;\u001a>\bpzz\b@PBr8w/a\n\\R.\u0013\u0010z.pq}\n\\RQ\u00130Z\u000ePQ]"
            .length();
         char var1 = '7';
         int var7 = -1;

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

            while (true) {
               String var9 = a(var10000, a(var10001));
               switch (var10002) {
                  case 0:
                     var5[var3++] = var9;
                     if ((var7 += var1) >= var4) {
                        a = var5;
                        String[] var8 = a;
                        TEXT = new ExternalEntityHeader.ValueType(var8[10], null, true);
                        TEXT_ARRAY = new ExternalEntityHeader.ValueType(var8[3], TEXT, true);
                        HTTP_URL = new ExternalEntityHeader.ValueType(var8[5], null, true);
                        HTTP_URL_ARRAY = new ExternalEntityHeader.ValueType(var8[11], HTTP_URL, true);
                        IP_ADDRESS = new ExternalEntityHeader.ValueType(var8[12], null, true);
                        IP_ADDRESS_ARRAY = new ExternalEntityHeader.ValueType(var8[6], IP_ADDRESS, true);
                        return;
                     }

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

                     var2 = "f`q!\fx)`dp\bzq}%\fl)~";
                     var4 = "f`q!\fx)`dp\bzq}%\fl)~".length();
                     var1 = '\n';
                     var7 = -1;
               }

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

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

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

         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 -> 47;
               case 1 -> 56;
               case 2 -> 52;
               case 3 -> 104;
               case 4 -> 78;
               case 5 -> 36;
               default -> 102;
            });
         }

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