package com.l7tech.server.policy.variable;

import com.l7tech.identity.User;
import com.l7tech.policy.variable.Syntax.SyntaxErrorHandler;
import java.security.cert.CertificateException;

public class UserSelector implements ExpandVariables.Selector<User> {
   private static final String a;
   private static final String b;
   private static final String[] c;

   public ExpandVariables.Selector.Selection select(String param1, User param2, String param3, SyntaxErrorHandler param4, boolean param5) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 3
      // 001: bipush 46
      // 003: invokevirtual java/lang/String.indexOf (I)I
      // 006: istore 6
      // 008: iload 6
      // 00a: bipush 1
      // 00b: if_icmpge 016
      // 00e: aconst_null
      // 00f: goto 02f
      // 012: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 015: athrow
      // 016: aload 3
      // 017: invokevirtual java/lang/String.length ()I
      // 01a: iload 6
      // 01c: if_icmple 02e
      // 01f: aload 3
      // 020: iload 6
      // 022: bipush 1
      // 023: iadd
      // 024: invokevirtual java/lang/String.substring (I)Ljava/lang/String;
      // 027: goto 02f
      // 02a: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 02d: athrow
      // 02e: aconst_null
      // 02f: astore 7
      // 031: aload 3
      // 032: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 035: bipush 14
      // 037: aaload
      // 038: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 03b: ifne 052
      // 03e: aload 3
      // 03f: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 042: bipush 9
      // 044: aaload
      // 045: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 048: ifeq 0c0
      // 04b: goto 052
      // 04e: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 051: athrow
      // 052: aload 2
      // 053: instanceof com/l7tech/identity/ldap/LdapUser
      // 056: ifeq 0b7
      // 059: goto 060
      // 05c: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 05f: athrow
      // 060: aload 2
      // 061: checkcast com/l7tech/identity/ldap/LdapUser
      // 064: astore 8
      // 066: aload 8
      // 068: invokevirtual com/l7tech/identity/ldap/LdapUser.getCertificate ()Ljava/security/cert/X509Certificate;
      // 06b: astore 9
      // 06d: aload 9
      // 06f: ifnonnull 07b
      // 072: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 075: dup
      // 076: aconst_null
      // 077: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 07a: areturn
      // 07b: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 07e: dup
      // 07f: aload 9
      // 081: aload 3
      // 082: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 085: bipush 10
      // 087: aaload
      // 088: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 08b: ifeq 096
      // 08e: aconst_null
      // 08f: goto 0a7
      // 092: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 095: athrow
      // 096: aload 3
      // 097: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 09a: astore 10
      // 09c: aload 10
      // 09e: bipush 6
      // 0a0: aaload
      // 0a1: invokevirtual java/lang/String.length ()I
      // 0a4: invokevirtual java/lang/String.substring (I)Ljava/lang/String;
      // 0a7: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;Ljava/lang/String;)V
      // 0aa: areturn
      // 0ab: astore 9
      // 0ad: new java/lang/RuntimeException
      // 0b0: dup
      // 0b1: aload 9
      // 0b3: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/Throwable;)V
      // 0b6: athrow
      // 0b7: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 0ba: dup
      // 0bb: aconst_null
      // 0bc: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 0bf: areturn
      // 0c0: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 0c3: bipush 5
      // 0c4: aaload
      // 0c5: aload 3
      // 0c6: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 0c9: ifne 0eb
      // 0cc: aload 3
      // 0cd: invokevirtual java/lang/String.toLowerCase ()Ljava/lang/String;
      // 0d0: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 0d3: bipush 13
      // 0d5: aaload
      // 0d6: invokevirtual java/lang/String.toLowerCase ()Ljava/lang/String;
      // 0d9: invokedynamic makeConcatWithConstants (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." ]
      // 0de: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 0e1: ifeq 0ff
      // 0e4: goto 0eb
      // 0e7: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 0ea: athrow
      // 0eb: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 0ee: dup
      // 0ef: aload 2
      // 0f0: invokeinterface com/l7tech/identity/User.getProviderId ()Lcom/l7tech/objectmodel/Goid; 1
      // 0f5: aload 7
      // 0f7: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;Ljava/lang/String;)V
      // 0fa: areturn
      // 0fb: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 0fe: athrow
      // 0ff: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 102: bipush 8
      // 104: aaload
      // 105: aload 3
      // 106: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 109: ifne 122
      // 10c: aload 3
      // 10d: invokevirtual java/lang/String.toLowerCase ()Ljava/lang/String;
      // 110: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 113: bipush 1
      // 114: aaload
      // 115: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 118: ifeq 136
      // 11b: goto 122
      // 11e: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 121: athrow
      // 122: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 125: dup
      // 126: aload 2
      // 127: invokeinterface com/l7tech/identity/User.getProviderId ()Lcom/l7tech/objectmodel/Goid; 1
      // 12c: aload 7
      // 12e: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;Ljava/lang/String;)V
      // 131: areturn
      // 132: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 135: athrow
      // 136: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 139: bipush 11
      // 13b: aaload
      // 13c: aload 3
      // 13d: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 140: ifeq 155
      // 143: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 146: dup
      // 147: aload 2
      // 148: invokeinterface com/l7tech/identity/User.getId ()Ljava/lang/String; 1
      // 14d: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 150: areturn
      // 151: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 154: athrow
      // 155: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 158: bipush 2
      // 159: aaload
      // 15a: aload 3
      // 15b: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 15e: ifeq 173
      // 161: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 164: dup
      // 165: aload 2
      // 166: invokeinterface com/l7tech/identity/User.getLogin ()Ljava/lang/String; 1
      // 16b: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 16e: areturn
      // 16f: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 172: athrow
      // 173: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 176: bipush 12
      // 178: aaload
      // 179: aload 3
      // 17a: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 17d: ifeq 192
      // 180: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 183: dup
      // 184: aload 2
      // 185: invokeinterface com/l7tech/identity/User.getFirstName ()Ljava/lang/String; 1
      // 18a: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 18d: areturn
      // 18e: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 191: athrow
      // 192: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 195: bipush 3
      // 196: aaload
      // 197: aload 3
      // 198: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 19b: ifeq 1b0
      // 19e: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 1a1: dup
      // 1a2: aload 2
      // 1a3: invokeinterface com/l7tech/identity/User.getLastName ()Ljava/lang/String; 1
      // 1a8: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 1ab: areturn
      // 1ac: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 1af: athrow
      // 1b0: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 1b3: bipush 7
      // 1b5: aaload
      // 1b6: aload 3
      // 1b7: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 1ba: ifeq 1cf
      // 1bd: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 1c0: dup
      // 1c1: aload 2
      // 1c2: invokeinterface com/l7tech/identity/User.getEmail ()Ljava/lang/String; 1
      // 1c7: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 1ca: areturn
      // 1cb: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 1ce: athrow
      // 1cf: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 1d2: bipush 4
      // 1d3: aaload
      // 1d4: aload 3
      // 1d5: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 1d8: ifeq 1ed
      // 1db: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 1de: dup
      // 1df: aload 2
      // 1e0: invokeinterface com/l7tech/identity/User.getDepartment ()Ljava/lang/String; 1
      // 1e5: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 1e8: areturn
      // 1e9: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 1ec: athrow
      // 1ed: getstatic com/l7tech/server/policy/variable/UserSelector.c [Ljava/lang/String;
      // 1f0: bipush 0
      // 1f1: aaload
      // 1f2: aload 3
      // 1f3: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 1f6: ifeq 228
      // 1f9: aload 2
      // 1fa: instanceof com/l7tech/identity/ldap/LdapUser
      // 1fd: ifeq 21a
      // 200: goto 207
      // 203: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 206: athrow
      // 207: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 20a: dup
      // 20b: aload 2
      // 20c: checkcast com/l7tech/identity/ldap/LdapUser
      // 20f: invokevirtual com/l7tech/identity/ldap/LdapUser.getDn ()Ljava/lang/String;
      // 212: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 215: areturn
      // 216: invokestatic com/l7tech/server/policy/variable/UserSelector.a (Ljava/security/cert/CertificateException;)Ljava/security/cert/CertificateException;
      // 219: athrow
      // 21a: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 21d: dup
      // 21e: aload 2
      // 21f: invokeinterface com/l7tech/identity/User.getSubjectDn ()Ljava/lang/String; 1
      // 224: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 227: areturn
      // 228: aconst_null
      // 229: areturn
      // try (31 -> 43): 44 java/security/cert/CertificateException
      // try (25 -> 37): 38 java/security/cert/CertificateException
      // try (11 -> 21): 21 java/security/cert/CertificateException
      // try (4 -> 9): 9 java/security/cert/CertificateException
      // try (49 -> 58): 82 java/security/cert/CertificateException
      // try (59 -> 70): 70 java/security/cert/CertificateException
      // try (59 -> 81): 82 java/security/cert/CertificateException
      // try (93 -> 108): 109 java/security/cert/CertificateException
      // try (99 -> 118): 118 java/security/cert/CertificateException
      // try (120 -> 133): 134 java/security/cert/CertificateException
      // try (126 -> 143): 143 java/security/cert/CertificateException
      // try (145 -> 157): 157 java/security/cert/CertificateException
      // try (159 -> 171): 171 java/security/cert/CertificateException
      // try (173 -> 185): 185 java/security/cert/CertificateException
      // try (187 -> 199): 199 java/security/cert/CertificateException
      // try (201 -> 213): 213 java/security/cert/CertificateException
      // try (215 -> 227): 227 java/security/cert/CertificateException
      // try (229 -> 238): 239 java/security/cert/CertificateException
      // try (235 -> 248): 248 java/security/cert/CertificateException
   }

   @Override
   public Class<User> getContextObjectClass() {
      return User.class;
   }

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

   static {
      String[] var5 = new String[15];
      int var3 = 0;
      String var2 = "dV/\u001b#OSSM\fgQ\"\u0007/HBeL$\u0015h\u0005{L*\u0018(\b{B>\u0005\bMJr\nsF=\u00104XJrM9\ngQ\"\u0007/HBej)\u0005tF?\u0005h\u0005rN,\u0018*\u000bgQ\"\u0007/HBel$\u0015\u0004tF?\u0005\u0004tF?\u0005\u0002~G\tqJ?\u00022bFzF";
      int var4 = "dV/\u001b#OSSM\fgQ\"\u0007/HBeL$\u0015h\u0005{L*\u0018(\b{B>\u0005\bMJr\nsF=\u00104XJrM9\ngQ\"\u0007/HBej)\u0005tF?\u0005h\u0005rN,\u0018*\u000bgQ\"\u0007/HBel$\u0015\u0004tF?\u0005\u0004tF?\u0005\u0002~G\tqJ?\u00022bFzF"
         .length();
      char var1 = '\t';
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     c = var5;
                     String[] var9 = c;
                     b = c[6];
                     a = var9[10];
                     return;
                  }

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

                  var2 = "\u0010&UpX?5\u0012\u001d^\u0005\u00031Hr\u001f";
                  var4 = "\u0010&UpX?5\u0012\u001d^\u0005\u00031Hr\u001f".length();
                  var1 = '\n';
                  var7 = -1;
            }

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

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

      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 -> 124;
            case 1 -> 72;
            case 2 -> 38;
            case 3 -> 26;
            case 4 -> 45;
            case 5 -> 71;
            default -> 76;
         });
      }

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