package com.l7tech.server;

import com.l7tech.server.util.ReadOnlyHibernateCallback;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.hibernate.HibernateException;
import org.hibernate.Session;

class bx extends ReadOnlyHibernateCallback<List<ET>> {
   final Map val$matchProperties;
   final String val$sortProperty;
   final Boolean val$ascending;
   final int val$offset;
   final int val$count;
   final HibernateEntityManager this$0;
   private static final String a;

   bx(HibernateEntityManager var1, Map var2, String var3, Boolean var4, int var5, int var6) {
      this.this$0 = var1;
      this.val$matchProperties = var2;
      this.val$sortProperty = var3;
      this.val$ascending = var4;
      this.val$offset = var5;
      this.val$count = var6;
   }

   protected List<ET> doInHibernateReadOnly(Session param1) throws HibernateException, SQLException {
      // $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 1
      // 001: invokeinterface org/hibernate/Session.getCriteriaBuilder ()Ljakarta/persistence/criteria/CriteriaBuilder; 1
      // 006: astore 2
      // 007: aload 2
      // 008: aload 0
      // 009: getfield com/l7tech/server/bx.this$0 Lcom/l7tech/server/HibernateEntityManager;
      // 00c: invokevirtual com/l7tech/server/HibernateEntityManager.getImpClass ()Ljava/lang/Class;
      // 00f: invokeinterface jakarta/persistence/criteria/CriteriaBuilder.createQuery (Ljava/lang/Class;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 014: astore 3
      // 015: aload 3
      // 016: aload 0
      // 017: getfield com/l7tech/server/bx.this$0 Lcom/l7tech/server/HibernateEntityManager;
      // 01a: invokevirtual com/l7tech/server/HibernateEntityManager.getImpClass ()Ljava/lang/Class;
      // 01d: invokeinterface jakarta/persistence/criteria/CriteriaQuery.from (Ljava/lang/Class;)Ljakarta/persistence/criteria/Root; 2
      // 022: astore 4
      // 024: aload 0
      // 025: getfield com/l7tech/server/bx.this$0 Lcom/l7tech/server/HibernateEntityManager;
      // 028: aload 2
      // 029: invokeinterface jakarta/persistence/criteria/CriteriaBuilder.conjunction ()Ljakarta/persistence/criteria/Predicate; 1
      // 02e: aload 2
      // 02f: aload 4
      // 031: invokevirtual com/l7tech/server/HibernateEntityManager.addFindAllPredicate (Ljakarta/persistence/criteria/Predicate;Ljakarta/persistence/criteria/CriteriaBuilder;Ljakarta/persistence/criteria/Root;)Ljakarta/persistence/criteria/Predicate;
      // 034: astore 5
      // 036: aload 0
      // 037: getfield com/l7tech/server/bx.val$matchProperties Ljava/util/Map;
      // 03a: ifnull 06e
      // 03d: aload 0
      // 03e: getfield com/l7tech/server/bx.val$matchProperties Ljava/util/Map;
      // 041: invokeinterface java/util/Map.isEmpty ()Z 1
      // 046: ifne 06e
      // 049: goto 050
      // 04c: invokestatic com/l7tech/server/bx.a (Lorg/hibernate/HibernateException;)Lorg/hibernate/HibernateException;
      // 04f: athrow
      // 050: aload 0
      // 051: getfield com/l7tech/server/bx.val$matchProperties Ljava/util/Map;
      // 054: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 059: aload 5
      // 05b: new com/l7tech/server/ak
      // 05e: dup
      // 05f: aload 0
      // 060: aload 2
      // 061: aload 4
      // 063: invokespecial com/l7tech/server/ak.<init> (Lcom/l7tech/server/bx;Ljakarta/persistence/criteria/CriteriaBuilder;Ljakarta/persistence/criteria/Root;)V
      // 066: invokestatic com/l7tech/util/Functions.reduce (Ljava/lang/Iterable;Ljava/lang/Object;Lcom/l7tech/util/Functions$Binary;)Ljava/lang/Object;
      // 069: checkcast jakarta/persistence/criteria/Predicate
      // 06c: astore 5
      // 06e: aload 0
      // 06f: getfield com/l7tech/server/bx.val$sortProperty Ljava/lang/String;
      // 072: ifnull 0eb
      // 075: aload 4
      // 077: aload 0
      // 078: getfield com/l7tech/server/bx.val$sortProperty Ljava/lang/String;
      // 07b: bipush 1
      // 07c: invokestatic com/l7tech/server/HibernateEntityManager.expandNestedAttribute (Ljakarta/persistence/criteria/Root;Ljava/lang/String;Z)Ljakarta/persistence/criteria/Path;
      // 07f: astore 6
      // 081: aload 0
      // 082: getfield com/l7tech/server/bx.val$ascending Ljava/lang/Boolean;
      // 085: ifnull 099
      // 088: aload 0
      // 089: getfield com/l7tech/server/bx.val$ascending Ljava/lang/Boolean;
      // 08c: invokevirtual java/lang/Boolean.booleanValue ()Z
      // 08f: ifeq 0c4
      // 092: goto 099
      // 095: invokestatic com/l7tech/server/bx.a (Lorg/hibernate/HibernateException;)Lorg/hibernate/HibernateException;
      // 098: athrow
      // 099: aload 3
      // 09a: aload 4
      // 09c: invokeinterface jakarta/persistence/criteria/CriteriaQuery.select (Ljakarta/persistence/criteria/Selection;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 0a1: aload 5
      // 0a3: invokeinterface jakarta/persistence/criteria/CriteriaQuery.where (Ljakarta/persistence/criteria/Expression;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 0a8: bipush 1
      // 0a9: anewarray 176
      // 0ac: dup
      // 0ad: bipush 0
      // 0ae: aload 2
      // 0af: aload 6
      // 0b1: invokeinterface jakarta/persistence/criteria/CriteriaBuilder.asc (Ljakarta/persistence/criteria/Expression;)Ljakarta/persistence/criteria/Order; 2
      // 0b6: aastore
      // 0b7: invokeinterface jakarta/persistence/criteria/CriteriaQuery.orderBy ([Ljakarta/persistence/criteria/Order;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 0bc: pop
      // 0bd: goto 0e8
      // 0c0: invokestatic com/l7tech/server/bx.a (Lorg/hibernate/HibernateException;)Lorg/hibernate/HibernateException;
      // 0c3: athrow
      // 0c4: aload 3
      // 0c5: aload 4
      // 0c7: invokeinterface jakarta/persistence/criteria/CriteriaQuery.select (Ljakarta/persistence/criteria/Selection;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 0cc: aload 5
      // 0ce: invokeinterface jakarta/persistence/criteria/CriteriaQuery.where (Ljakarta/persistence/criteria/Expression;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 0d3: bipush 1
      // 0d4: anewarray 176
      // 0d7: dup
      // 0d8: bipush 0
      // 0d9: aload 2
      // 0da: aload 6
      // 0dc: invokeinterface jakarta/persistence/criteria/CriteriaBuilder.desc (Ljakarta/persistence/criteria/Expression;)Ljakarta/persistence/criteria/Order; 2
      // 0e1: aastore
      // 0e2: invokeinterface jakarta/persistence/criteria/CriteriaQuery.orderBy ([Ljakarta/persistence/criteria/Order;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 0e7: pop
      // 0e8: goto 0fb
      // 0eb: aload 3
      // 0ec: aload 4
      // 0ee: invokeinterface jakarta/persistence/criteria/CriteriaQuery.select (Ljakarta/persistence/criteria/Selection;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 0f3: aload 5
      // 0f5: invokeinterface jakarta/persistence/criteria/CriteriaQuery.where (Ljakarta/persistence/criteria/Expression;)Ljakarta/persistence/criteria/CriteriaQuery; 2
      // 0fa: pop
      // 0fb: aload 1
      // 0fc: aload 3
      // 0fd: invokeinterface org/hibernate/Session.createQuery (Ljakarta/persistence/criteria/CriteriaQuery;)Lorg/hibernate/query/Query; 2
      // 102: astore 6
      // 104: aload 6
      // 106: aload 0
      // 107: getfield com/l7tech/server/bx.val$offset I
      // 10a: invokeinterface jakarta/persistence/TypedQuery.setFirstResult (I)Ljakarta/persistence/TypedQuery; 2
      // 10f: pop
      // 110: aload 0
      // 111: getfield com/l7tech/server/bx.val$count I
      // 114: iflt 13c
      // 117: aload 6
      // 119: getstatic com/l7tech/server/bx.a Ljava/lang/String;
      // 11c: aload 0
      // 11d: getfield com/l7tech/server/bx.val$count I
      // 120: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 123: invokeinterface jakarta/persistence/TypedQuery.setHint (Ljava/lang/String;Ljava/lang/Object;)Ljakarta/persistence/TypedQuery; 3
      // 128: pop
      // 129: aload 6
      // 12b: aload 0
      // 12c: getfield com/l7tech/server/bx.val$count I
      // 12f: invokeinterface jakarta/persistence/TypedQuery.setMaxResults (I)Ljakarta/persistence/TypedQuery; 2
      // 134: pop
      // 135: goto 13c
      // 138: invokestatic com/l7tech/server/bx.a (Lorg/hibernate/HibernateException;)Lorg/hibernate/HibernateException;
      // 13b: athrow
      // 13c: aload 6
      // 13e: invokeinterface jakarta/persistence/TypedQuery.getResultList ()Ljava/util/List; 1
      // 143: astore 7
      // 145: aload 7
      // 147: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 14c: astore 8
      // 14e: aload 8
      // 150: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 155: ifeq 170
      // 158: aload 8
      // 15a: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 15f: checkcast com/l7tech/objectmodel/PersistentEntity
      // 162: astore 9
      // 164: aload 0
      // 165: getfield com/l7tech/server/bx.this$0 Lcom/l7tech/server/HibernateEntityManager;
      // 168: aload 9
      // 16a: invokevirtual com/l7tech/server/HibernateEntityManager.initializeLazilyLoaded (Lcom/l7tech/objectmodel/PersistentEntity;)V
      // 16d: goto 14e
      // 170: aload 7
      // 172: areturn
      // try (23 -> 30): 31 org/hibernate/HibernateException
      // try (55 -> 62): 63 org/hibernate/HibernateException
      // try (58 -> 81): 81 org/hibernate/HibernateException
      // try (109 -> 129): 130 org/hibernate/HibernateException
   }

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

   static {
      String var10002 = a(89, a("C\u000b\u0011=ME\u007fI\u000b\u0018rQI3J\u001c\u0002pM\u007ftV\u001c"));
      byte var10001 = -1;
      a = var10002;
   }

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

      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 -> 117;
            case 1 -> 32;
            case 2 -> 47;
            case 3 -> 74;
            case 4 -> 124;
            case 5 -> 117;
            default -> 68;
         });
      }

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