package com.l7tech.server.service;

import com.l7tech.gateway.common.service.MetricsBin;
import com.l7tech.gateway.common.service.MetricsBinDetail;
import com.l7tech.gateway.common.service.MetricsSummaryBin;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.service.ServiceHeader;
import com.l7tech.gateway.common.service.ServiceState;
import com.l7tech.identity.IdentityProvider;
import com.l7tech.identity.User;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.server.identity.IdentityProviderFactory;
import com.l7tech.server.mapping.MessageContextMappingManager;
import com.l7tech.server.security.rbac.RoleManager;
import com.l7tech.server.util.ConfiguredSessionFactoryBean;
import com.l7tech.util.ConfigFactory;
import jakarta.inject.Inject;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.hibernate.Session;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ServiceMetricsManagerImpl extends HibernateDaoSupport implements ServiceMetricsManager {
   private static final String a;
   private static final String b;
   private static final String c;
   private static final String d;
   private static final Logger e;
   private static final ConfiguredSessionFactoryBean.ConfiguredGOIDGenerator f;
   private final String g;
   private int h;
   @Inject
   private PlatformTransactionManager _transactionManager;
   @Inject
   private ServiceManager _serviceManager;
   @Inject
   private RoleManager _roleManager;
   @Inject
   private MessageContextMappingManager messageContextMappingManager;
   @Inject
   private IdentityProviderFactory identityProviderFactory;
   private static final String[] i;

   public ServiceMetricsManagerImpl(String var1) {
      this.g = var1;
   }

   @Transactional(propagation = Propagation.REQUIRED, readOnly = true)
   @Override
   public Collection<MetricsSummaryBin> summarizeByPeriod(String var1, Goid[] var2, Integer var3, Long var4, Long var5, boolean var6) throws FindException {
      List var7 = this.a(var1, var2, var3, var4, var5, var6);
      return MetricsSummaryBin.createSummaryMetricsBinsByPeriodStart(var7);
   }

   @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
   @Override
   public Map<Goid, MetricsSummaryBin> summarizeByService(String var1, Integer var2, Long var3, Long var4, Goid[] var5, boolean var6) throws FindException {
      List var7 = this.a(var1, var5, var2, var3, var4, var6);
      return MetricsSummaryBin.createSummaryMetricsBinsByServiceOid(var7);
   }

   private List<MetricsBin> a(String param1, Goid[] param2, Integer param3, Long param4, Long param5, boolean param6) throws FindException {
      // $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 0
      // 001: aload 2
      // 002: invokevirtual com/l7tech/server/service/ServiceMetricsManagerImpl.a ([Lcom/l7tech/objectmodel/Goid;)Ljava/util/Set;
      // 005: astore 7
      // 007: aload 7
      // 009: ifnull 02a
      // 00c: iload 6
      // 00e: ifeq 02a
      // 011: goto 018
      // 014: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 017: athrow
      // 018: aload 7
      // 01a: getstatic com/l7tech/objectmodel/PersistentEntity.DEFAULT_GOID Lcom/l7tech/objectmodel/Goid;
      // 01d: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 022: pop
      // 023: goto 02a
      // 026: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 029: athrow
      // 02a: aload 7
      // 02c: ifnull 048
      // 02f: aload 7
      // 031: invokeinterface java/util/Set.isEmpty ()Z 1
      // 036: ifeq 048
      // 039: goto 040
      // 03c: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03f: athrow
      // 040: invokestatic java/util/Collections.emptyList ()Ljava/util/List;
      // 043: areturn
      // 044: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 047: athrow
      // 048: aload 0
      // 049: invokevirtual com/l7tech/server/service/ServiceMetricsManagerImpl.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 04c: new com/l7tech/server/service/an
      // 04f: dup
      // 050: aload 0
      // 051: aload 1
      // 052: aload 7
      // 054: aload 3
      // 055: aload 4
      // 057: aload 5
      // 059: invokespecial com/l7tech/server/service/an.<init> (Lcom/l7tech/server/service/ServiceMetricsManagerImpl;Ljava/lang/String;Ljava/util/Set;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Long;)V
      // 05c: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.execute (Lorg/springframework/orm/hibernate5/HibernateCallback;)Ljava/lang/Object;
      // 05f: checkcast java/util/List
      // 062: astore 8
      // 064: aload 8
      // 066: areturn
      // 067: astore 8
      // 069: new com/l7tech/objectmodel/FindException
      // 06c: dup
      // 06d: aload 1
      // 06e: ifnonnull 07e
      // 071: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 074: bipush 11
      // 076: aaload
      // 077: goto 07f
      // 07a: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07d: athrow
      // 07e: aload 1
      // 07f: aload 7
      // 081: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 084: aload 3
      // 085: ifnonnull 095
      // 088: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 08b: astore 14
      // 08d: aload 14
      // 08f: bipush 18
      // 091: aaload
      // 092: goto 096
      // 095: aload 3
      // 096: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 099: aload 4
      // 09b: ifnonnull 0ab
      // 09e: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 0a1: astore 14
      // 0a3: aload 14
      // 0a5: bipush 18
      // 0a7: aaload
      // 0a8: goto 0b7
      // 0ab: new java/util/Date
      // 0ae: dup
      // 0af: aload 4
      // 0b1: invokevirtual java/lang/Long.longValue ()J
      // 0b4: invokespecial java/util/Date.<init> (J)V
      // 0b7: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0ba: aload 5
      // 0bc: ifnonnull 0cc
      // 0bf: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 0c2: astore 14
      // 0c4: aload 14
      // 0c6: bipush 18
      // 0c8: aaload
      // 0c9: goto 0d8
      // 0cc: new java/util/Date
      // 0cf: dup
      // 0d0: aload 5
      // 0d2: invokevirtual java/lang/Long.longValue ()J
      // 0d5: invokespecial java/util/Date.<init> (J)V
      // 0d8: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0db: astore 9
      // 0dd: astore 10
      // 0df: astore 11
      // 0e1: astore 12
      // 0e3: astore 13
      // 0e5: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 0e8: astore 14
      // 0ea: aload 14
      // 0ec: bipush 10
      // 0ee: aaload
      // 0ef: aload 13
      // 0f1: aload 14
      // 0f3: bipush 6
      // 0f5: aaload
      // 0f6: aload 12
      // 0f8: aload 14
      // 0fa: bipush 16
      // 0fc: aaload
      // 0fd: aload 11
      // 0ff: aload 14
      // 101: bipush 28
      // 103: aaload
      // 104: aload 10
      // 106: aload 14
      // 108: bipush 12
      // 10a: aaload
      // 10b: aload 9
      // 10d: ldc ")"
      // 10f: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;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\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" ]
      // 114: aload 8
      // 116: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 119: athrow
      // try (20 -> 28): 28 org/springframework/dao/DataAccessException
      // try (18 -> 23): 24 org/springframework/dao/DataAccessException
      // try (6 -> 15): 16 org/springframework/dao/DataAccessException
      // try (4 -> 8): 9 org/springframework/dao/DataAccessException
      // try (30 -> 45): 46 org/springframework/dao/DataAccessException
      // try (47 -> 55): 55 org/springframework/dao/DataAccessException
   }

   @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
   @Override
   public MetricsSummaryBin summarizeLatest(String param1, Goid[] param2, int param3, int param4, boolean param5) throws FindException {
      // $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 0
      // 001: aload 2
      // 002: invokevirtual com/l7tech/server/service/ServiceMetricsManagerImpl.a ([Lcom/l7tech/objectmodel/Goid;)Ljava/util/Set;
      // 005: astore 6
      // 007: aload 6
      // 009: ifnull 02a
      // 00c: iload 5
      // 00e: ifeq 02a
      // 011: goto 018
      // 014: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 017: athrow
      // 018: aload 6
      // 01a: getstatic com/l7tech/objectmodel/PersistentEntity.DEFAULT_GOID Lcom/l7tech/objectmodel/Goid;
      // 01d: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 022: pop
      // 023: goto 02a
      // 026: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 029: athrow
      // 02a: aload 6
      // 02c: ifnull 046
      // 02f: aload 6
      // 031: invokeinterface java/util/Set.isEmpty ()Z 1
      // 036: ifeq 046
      // 039: goto 040
      // 03c: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03f: athrow
      // 040: aconst_null
      // 041: areturn
      // 042: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 045: athrow
      // 046: iload 3
      // 047: aload 0
      // 048: invokevirtual com/l7tech/server/service/ServiceMetricsManagerImpl.b ()I
      // 04b: invokestatic java/lang/System.currentTimeMillis ()J
      // 04e: invokestatic com/l7tech/gateway/common/service/MetricsBin.periodStartFor (IIJ)J
      // 051: lstore 7
      // 053: lload 7
      // 055: iload 4
      // 057: i2l
      // 058: lsub
      // 059: lstore 9
      // 05b: aload 0
      // 05c: invokevirtual com/l7tech/server/service/ServiceMetricsManagerImpl.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 05f: new com/l7tech/server/service/ao
      // 062: dup
      // 063: aload 0
      // 064: aload 1
      // 065: aload 6
      // 067: iload 3
      // 068: lload 9
      // 06a: lload 7
      // 06c: invokespecial com/l7tech/server/service/ao.<init> (Lcom/l7tech/server/service/ServiceMetricsManagerImpl;Ljava/lang/String;Ljava/util/Set;IJJ)V
      // 06f: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.execute (Lorg/springframework/orm/hibernate5/HibernateCallback;)Ljava/lang/Object;
      // 072: checkcast java/util/Collection
      // 075: astore 11
      // 077: goto 0be
      // 07a: astore 12
      // 07c: new com/l7tech/objectmodel/FindException
      // 07f: dup
      // 080: aload 1
      // 081: aload 6
      // 083: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 086: iload 3
      // 087: iload 4
      // 089: istore 13
      // 08b: istore 14
      // 08d: astore 15
      // 08f: astore 16
      // 091: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 094: astore 17
      // 096: aload 17
      // 098: bipush 17
      // 09a: aaload
      // 09b: aload 16
      // 09d: aload 17
      // 09f: bipush 4
      // 0a0: aaload
      // 0a1: aload 15
      // 0a3: aload 17
      // 0a5: bipush 14
      // 0a7: aaload
      // 0a8: iload 14
      // 0aa: aload 17
      // 0ac: bipush 8
      // 0ae: aaload
      // 0af: iload 13
      // 0b1: ldc ")"
      // 0b3: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;ILjava/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\u0001\u0001\u0001\u0001\u0001\u0001\u0001" ]
      // 0b8: aload 12
      // 0ba: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0bd: athrow
      // 0be: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.e Ljava/util/logging/Logger;
      // 0c1: getstatic java/util/logging/Level.FINER Ljava/util/logging/Level;
      // 0c4: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 0c7: ifeq 0f0
      // 0ca: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.e Ljava/util/logging/Logger;
      // 0cd: aload 11
      // 0cf: invokeinterface java/util/Collection.size ()I 1
      // 0d4: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 0d7: bipush 24
      // 0d9: aaload
      // 0da: swap
      // 0db: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 0de: bipush 29
      // 0e0: aaload
      // 0e1: invokedynamic makeConcatWithConstants (Ljava/lang/String;ILjava/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\u0001" ]
      // 0e6: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 0e9: goto 0f0
      // 0ec: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ef: athrow
      // 0f0: aload 11
      // 0f2: ifnull 106
      // 0f5: aload 11
      // 0f7: invokeinterface java/util/Collection.size ()I 1
      // 0fc: ifne 10c
      // 0ff: goto 106
      // 102: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 105: athrow
      // 106: aconst_null
      // 107: areturn
      // 108: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10b: athrow
      // 10c: new com/l7tech/gateway/common/service/MetricsSummaryBin
      // 10f: dup
      // 110: aload 11
      // 112: invokespecial com/l7tech/gateway/common/service/MetricsSummaryBin.<init> (Ljava/util/Collection;)V
      // 115: astore 12
      // 117: aload 12
      // 119: lload 9
      // 11b: invokevirtual com/l7tech/gateway/common/service/MetricsSummaryBin.setPeriodStart (J)V
      // 11e: aload 12
      // 120: iload 4
      // 122: invokevirtual com/l7tech/gateway/common/service/MetricsSummaryBin.setInterval (I)V
      // 125: aload 12
      // 127: lload 7
      // 129: invokevirtual com/l7tech/gateway/common/service/MetricsSummaryBin.setEndTime (J)V
      // 12c: aload 12
      // 12e: areturn
      // try (20 -> 28): 28 org/springframework/dao/DataAccessException
      // try (18 -> 23): 24 org/springframework/dao/DataAccessException
      // try (6 -> 15): 16 org/springframework/dao/DataAccessException
      // try (4 -> 8): 9 org/springframework/dao/DataAccessException
      // try (41 -> 55): 56 org/springframework/dao/DataAccessException
      // try (91 -> 107): 108 org/springframework/dao/DataAccessException
      // try (110 -> 115): 116 org/springframework/dao/DataAccessException
      // try (112 -> 120): 120 org/springframework/dao/DataAccessException
   }

   @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
   @Override
   public ServiceState getCreatedOrUpdatedServiceState(Goid var1) throws FindException {
      try {
         if (!this.a()) {
            this.logger.warn(i[15]);
            return ServiceState.DISABLED;
         }
      } catch (FindException var5) {
         throw a(var5);
      }

      PublishedService var2 = (PublishedService)this._serviceManager.findByPrimaryKey(var1);

      try {
         if (var2 == null) {
            return ServiceState.DELETED;
         }
      } catch (FindException var4) {
         throw a(var4);
      }

      try {
         if (var2.isDisabled()) {
            return ServiceState.DISABLED;
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      return ServiceState.ENABLED;
   }

   @Transactional(propagation = Propagation.REQUIRED)
   @Override
   public Integer delete(long var1, int var3) {
      return (Integer)this.getHibernateTemplate().execute(new z(this, var1, var3));
   }

   @Transactional(propagation = Propagation.REQUIRED, readOnly = true)
   @Override
   public Collection<ServiceHeader> findAllServiceHeaders() throws FindException {
      try {
         if (!this.a()) {
            this.logger.warn(i[0]);
            return Collections.emptyList();
         }
      } catch (FindException var1) {
         throw a(var1);
      }

      return this._serviceManager.findAllHeaders(false);
   }

   @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
   @Override
   public void doFlush(ServiceMetrics.MetricsCollectorSet var1, MetricsBin var2) {
      try {
         this.getHibernateTemplate().execute(new aa(this, var2, var1));
      } catch (Exception var4) {
         throw new RuntimeException(i[20], var4);
      }
   }

   protected void initDao() throws Exception {
      try {
         if (this._transactionManager == null) {
            this.logger.warn(i[5]);
         }
      } catch (Exception var2) {
         throw a(var2);
      }

      try {
         if (this._serviceManager == null) {
            this.logger.warn(i[21]);
         }
      } catch (Exception var3) {
         throw a(var3);
      }

      try {
         if (this.g == null) {
            this.logger.warn(i[19]);
         }
      } catch (Exception var1) {
         throw a(var1);
      }
   }

   private boolean a() {
      // $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: getfield com/l7tech/server/service/ServiceMetricsManagerImpl._transactionManager Lorg/springframework/transaction/PlatformTransactionManager;
      // 04: ifnull 2b
      // 07: aload 0
      // 08: getfield com/l7tech/server/service/ServiceMetricsManagerImpl._serviceManager Lcom/l7tech/server/service/ServiceManager;
      // 0b: ifnull 2b
      // 0e: goto 15
      // 11: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14: athrow
      // 15: aload 0
      // 16: getfield com/l7tech/server/service/ServiceMetricsManagerImpl.g Ljava/lang/String;
      // 19: ifnull 2b
      // 1c: goto 23
      // 1f: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22: athrow
      // 23: bipush 1
      // 24: goto 2c
      // 27: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a: athrow
      // 2b: bipush 0
      // 2c: ireturn
      // try (0 -> 6): 7 org/springframework/dao/DataAccessException
      // try (3 -> 12): 13 org/springframework/dao/DataAccessException
      // try (9 -> 17): 17 org/springframework/dao/DataAccessException
   }

   @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
   @Override
   public void createHourlyBin(Goid var1, ServiceState var2, long var3) throws SaveException {
      this.a(var1, var2, var3, 1, 0);
   }

   @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
   @Override
   public void createDailyBin(Goid var1, ServiceState var2, long var3) throws SaveException {
      this.a(var1, var2, var3, 2, 1);
   }

   private void a(Goid var1, ServiceState var2, long var3, int var5, int var6) throws SaveException {
      try {
         this.getHibernateTemplate().execute(new ac(this, var3, var5, var1, var2, var6));
      } catch (Exception var8) {
         throw new SaveException(i[2], var8);
      }
   }

   private void a(Session var1, Goid var2, Map<ServiceMetrics.MetricsDetailKey, ServiceMetrics.MetricsCollector> var3) {
      if (var3 != null) {
         for (Entry var5 : var3.entrySet()) {
            MetricsBinDetail var6 = new MetricsBinDetail();

            try {
               var6.setMetricsBinGoid(var2);
               var6.setMappingValuesId(this.a((ServiceMetrics.MetricsDetailKey)var5.getKey()));
               if (((ServiceMetrics.MetricsCollector)var5.getValue()).getNumAttemptedRequest() > 0) {
                  var6.setMinFrontendResponseTime(((ServiceMetrics.MetricsCollector)var5.getValue()).getMinFrontendResponseTime());
                  var6.setMaxFrontendResponseTime(((ServiceMetrics.MetricsCollector)var5.getValue()).getMaxFrontendResponseTime());
               }
            } catch (DataAccessException var7) {
               throw a(var7);
            }

            try {
               var6.setSumFrontendResponseTime(((ServiceMetrics.MetricsCollector)var5.getValue()).getSumFrontendResponseTime());
               if (((ServiceMetrics.MetricsCollector)var5.getValue()).getNumCompletedRequest() > 0) {
                  var6.setMinBackendResponseTime(((ServiceMetrics.MetricsCollector)var5.getValue()).getMinBackendResponseTime());
                  var6.setMaxBackendResponseTime(((ServiceMetrics.MetricsCollector)var5.getValue()).getMaxBackendResponseTime());
               }
            } catch (DataAccessException var8) {
               throw a(var8);
            }

            var6.setSumBackendResponseTime(((ServiceMetrics.MetricsCollector)var5.getValue()).getSumBackendResponseTime());
            var6.setNumAttemptedRequest(((ServiceMetrics.MetricsCollector)var5.getValue()).getNumAttemptedRequest());
            var6.setNumAuthorizedRequest(((ServiceMetrics.MetricsCollector)var5.getValue()).getNumAuthorizedRequest());
            var6.setNumCompletedRequest(((ServiceMetrics.MetricsCollector)var5.getValue()).getNumCompletedRequest());
            var1.save(var6);
         }
      }
   }

   private Set<Goid> a(Goid[] param1) throws FindException {
      // $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 0
      // 001: invokevirtual com/l7tech/server/service/ServiceMetricsManagerImpl.a ()Z
      // 004: ifne 01d
      // 007: aload 0
      // 008: getfield com/l7tech/server/service/ServiceMetricsManagerImpl.logger Lorg/apache/commons/logging/Log;
      // 00b: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 00e: bipush 1
      // 00f: aaload
      // 010: invokeinterface org/apache/commons/logging/Log.warn (Ljava/lang/Object;)V 2
      // 015: invokestatic java/util/Collections.emptySet ()Ljava/util/Set;
      // 018: areturn
      // 019: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 01c: athrow
      // 01d: aconst_null
      // 01e: astore 2
      // 01f: aload 1
      // 020: ifnull 050
      // 023: new java/util/HashSet
      // 026: dup
      // 027: invokespecial java/util/HashSet.<init> ()V
      // 02a: astore 2
      // 02b: aload 1
      // 02c: astore 3
      // 02d: aload 3
      // 02e: arraylength
      // 02f: istore 4
      // 031: bipush 0
      // 032: istore 5
      // 034: iload 5
      // 036: iload 4
      // 038: if_icmpge 050
      // 03b: aload 3
      // 03c: iload 5
      // 03e: aaload
      // 03f: astore 6
      // 041: aload 2
      // 042: aload 6
      // 044: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 049: pop
      // 04a: iinc 5 1
      // 04d: goto 034
      // 050: invokestatic com/l7tech/server/util/JaasUtils.getCurrentUser ()Lcom/l7tech/identity/User;
      // 053: astore 3
      // 054: aload 3
      // 055: ifnull 15b
      // 058: aload 0
      // 059: getfield com/l7tech/server/service/ServiceMetricsManagerImpl._roleManager Lcom/l7tech/server/security/rbac/RoleManager;
      // 05c: aload 3
      // 05d: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 060: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 063: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 068: ifeq 079
      // 06b: goto 072
      // 06e: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 071: athrow
      // 072: goto 15b
      // 075: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 078: athrow
      // 079: new java/util/HashSet
      // 07c: dup
      // 07d: invokespecial java/util/HashSet.<init> ()V
      // 080: astore 4
      // 082: aload 0
      // 083: getfield com/l7tech/server/service/ServiceMetricsManagerImpl._serviceManager Lcom/l7tech/server/service/ServiceManager;
      // 086: invokeinterface com/l7tech/server/service/ServiceManager.findAll ()Ljava/util/Collection; 1
      // 08b: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 090: astore 5
      // 092: aload 5
      // 094: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 099: ifeq 0d2
      // 09c: aload 5
      // 09e: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0a3: checkcast com/l7tech/gateway/common/service/PublishedService
      // 0a6: astore 6
      // 0a8: aload 0
      // 0a9: getfield com/l7tech/server/service/ServiceMetricsManagerImpl._roleManager Lcom/l7tech/server/security/rbac/RoleManager;
      // 0ac: aload 3
      // 0ad: aload 6
      // 0af: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 0b2: aconst_null
      // 0b3: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForEntity (Lcom/l7tech/identity/User;Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;)Z 5
      // 0b8: ifeq 0cf
      // 0bb: aload 4
      // 0bd: aload 6
      // 0bf: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 0c2: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 0c7: pop
      // 0c8: goto 0cf
      // 0cb: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ce: athrow
      // 0cf: goto 092
      // 0d2: aload 2
      // 0d3: ifnonnull 0dc
      // 0d6: aload 4
      // 0d8: astore 2
      // 0d9: goto 110
      // 0dc: aload 2
      // 0dd: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 0e2: astore 5
      // 0e4: aload 5
      // 0e6: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0eb: ifeq 110
      // 0ee: aload 4
      // 0f0: aload 5
      // 0f2: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0f7: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 0fc: ifne 0e4
      // 0ff: goto 106
      // 102: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 105: athrow
      // 106: aload 5
      // 108: invokeinterface java/util/Iterator.remove ()V 1
      // 10d: goto 0e4
      // 110: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.e Ljava/util/logging/Logger;
      // 113: getstatic java/util/logging/Level.FINER Ljava/util/logging/Level;
      // 116: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 119: ifeq 15b
      // 11c: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.e Ljava/util/logging/Logger;
      // 11f: aload 1
      // 120: ifnonnull 133
      // 123: goto 12a
      // 126: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 129: athrow
      // 12a: ldc "*"
      // 12c: goto 138
      // 12f: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 132: athrow
      // 133: aload 1
      // 134: arraylength
      // 135: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 138: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 13b: aload 2
      // 13c: invokeinterface java/util/Set.size ()I 1
      // 141: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // 144: astore 7
      // 146: aload 7
      // 148: bipush 23
      // 14a: aaload
      // 14b: dup_x2
      // 14c: pop
      // 14d: aload 7
      // 14f: bipush 31
      // 151: aaload
      // 152: swap
      // 153: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)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\u0001\u0001" ]
      // 158: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 15b: aload 2
      // 15c: areturn
      // try (0 -> 11): 11 com/l7tech/objectmodel/FindException
      // try (43 -> 52): 53 com/l7tech/objectmodel/FindException
      // try (45 -> 56): 56 com/l7tech/objectmodel/FindException
      // try (74 -> 87): 88 com/l7tech/objectmodel/FindException
      // try (99 -> 107): 108 com/l7tech/objectmodel/FindException
      // try (113 -> 120): 121 com/l7tech/objectmodel/FindException
      // try (117 -> 125): 125 com/l7tech/objectmodel/FindException
   }

   private Goid a(ServiceMetrics.MetricsDetailKey param1) {
      // $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: getfield com/l7tech/server/service/ServiceMetricsManagerImpl.messageContextMappingManager Lcom/l7tech/server/mapping/MessageContextMappingManager;
      // 04: ifnonnull 0d
      // 07: aconst_null
      // 08: areturn
      // 09: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c: athrow
      // 0d: new com/l7tech/gateway/common/mapping/MessageContextMappingKeys
      // 10: dup
      // 11: invokespecial com/l7tech/gateway/common/mapping/MessageContextMappingKeys.<init> ()V
      // 14: astore 2
      // 15: new com/l7tech/gateway/common/mapping/MessageContextMappingValues
      // 18: dup
      // 19: invokespecial com/l7tech/gateway/common/mapping/MessageContextMappingValues.<init> ()V
      // 1c: astore 3
      // 1d: aload 2
      // 1e: invokestatic java/lang/System.currentTimeMillis ()J
      // 21: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingKeys.setCreateTime (J)V
      // 24: aload 3
      // 25: invokestatic java/lang/System.currentTimeMillis ()J
      // 28: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingValues.setCreateTime (J)V
      // 2b: aload 3
      // 2c: aload 1
      // 2d: invokevirtual com/l7tech/server/service/ServiceMetrics$MetricsDetailKey.getOperation ()Ljava/lang/String;
      // 30: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingValues.setServiceOperation (Ljava/lang/String;)V
      // 33: aload 1
      // 34: invokevirtual com/l7tech/server/service/ServiceMetrics$MetricsDetailKey.getMappings ()Ljava/util/Set;
      // 37: ifnull bf
      // 3a: bipush 0
      // 3b: istore 4
      // 3d: aload 1
      // 3e: invokevirtual com/l7tech/server/service/ServiceMetrics$MetricsDetailKey.getMappings ()Ljava/util/Set;
      // 41: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 46: astore 5
      // 48: aload 5
      // 4a: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 4f: ifeq bf
      // 52: aload 5
      // 54: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 59: checkcast com/l7tech/gateway/common/mapping/MessageContextMapping
      // 5c: astore 6
      // 5e: aload 6
      // 60: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMapping.getMappingType ()Lcom/l7tech/gateway/common/mapping/MessageContextMapping$MappingType;
      // 63: getstatic com/l7tech/gateway/common/mapping/MessageContextMapping$MappingType.AUTH_USER Lcom/l7tech/gateway/common/mapping/MessageContextMapping$MappingType;
      // 66: if_acmpne 9e
      // 69: aload 1
      // 6a: invokevirtual com/l7tech/server/service/ServiceMetrics$MetricsDetailKey.getUserId ()Ljava/lang/String;
      // 6d: ifnull bc
      // 70: goto 77
      // 73: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 76: athrow
      // 77: aload 3
      // 78: aload 0
      // 79: aload 1
      // 7a: invokevirtual com/l7tech/server/service/ServiceMetrics$MetricsDetailKey.getUserProviderId ()Lcom/l7tech/objectmodel/Goid;
      // 7d: aload 1
      // 7e: invokevirtual com/l7tech/server/service/ServiceMetrics$MetricsDetailKey.getUserId ()Ljava/lang/String;
      // 81: invokevirtual com/l7tech/server/service/ServiceMetricsManagerImpl.a (Lcom/l7tech/objectmodel/Goid;Ljava/lang/String;)Ljava/lang/String;
      // 84: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingValues.setAuthUserId (Ljava/lang/String;)V
      // 87: aload 3
      // 88: aload 1
      // 89: invokevirtual com/l7tech/server/service/ServiceMetrics$MetricsDetailKey.getUserId ()Ljava/lang/String;
      // 8c: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingValues.setAuthUserUniqueId (Ljava/lang/String;)V
      // 8f: aload 3
      // 90: aload 1
      // 91: invokevirtual com/l7tech/server/service/ServiceMetrics$MetricsDetailKey.getUserProviderId ()Lcom/l7tech/objectmodel/Goid;
      // 94: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingValues.setAuthUserProviderId (Lcom/l7tech/objectmodel/Goid;)V
      // 97: goto bc
      // 9a: invokestatic com/l7tech/server/service/ServiceMetricsManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 9d: athrow
      // 9e: aload 2
      // 9f: iload 4
      // a1: aload 6
      // a3: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMapping.getMappingType ()Lcom/l7tech/gateway/common/mapping/MessageContextMapping$MappingType;
      // a6: aload 6
      // a8: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMapping.getKey ()Ljava/lang/String;
      // ab: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingKeys.setTypeAndKey (ILcom/l7tech/gateway/common/mapping/MessageContextMapping$MappingType;Ljava/lang/String;)V
      // ae: aload 3
      // af: iload 4
      // b1: aload 6
      // b3: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMapping.getValue ()Ljava/lang/String;
      // b6: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingValues.setValue (ILjava/lang/String;)V
      // b9: iinc 4 1
      // bc: goto 48
      // bf: aload 0
      // c0: getfield com/l7tech/server/service/ServiceMetricsManagerImpl.messageContextMappingManager Lcom/l7tech/server/mapping/MessageContextMappingManager;
      // c3: aload 2
      // c4: invokeinterface com/l7tech/server/mapping/MessageContextMappingManager.saveMessageContextMappingKeys (Lcom/l7tech/gateway/common/mapping/MessageContextMappingKeys;)Lcom/l7tech/objectmodel/Goid; 2
      // c9: astore 4
      // cb: aload 3
      // cc: aload 4
      // ce: invokevirtual com/l7tech/gateway/common/mapping/MessageContextMappingValues.setMappingKeysGoid (Lcom/l7tech/objectmodel/Goid;)V
      // d1: aload 0
      // d2: getfield com/l7tech/server/service/ServiceMetricsManagerImpl.messageContextMappingManager Lcom/l7tech/server/mapping/MessageContextMappingManager;
      // d5: aload 3
      // d6: invokeinterface com/l7tech/server/mapping/MessageContextMappingManager.saveMessageContextMappingValues (Lcom/l7tech/gateway/common/mapping/MessageContextMappingValues;)Lcom/l7tech/objectmodel/Goid; 2
      // db: areturn
      // dc: astore 4
      // de: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.e Ljava/util/logging/Logger;
      // e1: getstatic com/l7tech/server/service/ServiceMetricsManagerImpl.i [Ljava/lang/String;
      // e4: bipush 27
      // e6: aaload
      // e7: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // ea: aconst_null
      // eb: areturn
      // try (45 -> 68): 68 java/lang/Exception
      // try (41 -> 48): 49 java/lang/Exception
      // try (0 -> 5): 5 java/lang/Exception
      // try (84 -> 96): 97 java/lang/Exception
   }

   private String a(Goid var1, String var2) {
      String var3 = null;

      try {
         IdentityProvider var4 = this.identityProviderFactory.getProvider(var1);
         if (var4 != null) {
            User var5 = var4.getUserManager().findByPrimaryKey(var2);

            String var10000;
            label27: {
               try {
                  if (var5 == null) {
                     var10000 = var2;
                     break label27;
                  }
               } catch (Exception var7) {
                  throw a(var7);
               }

               var10000 = this.a(var5);
            }

            String var10001 = var4.getConfig().getName();
            String[] var9 = i;
            var3 = var10000 + var9[7] + var10001 + "]";
         }
      } catch (Exception var8) {
         String[] var6 = i;
         e.log(Level.WARNING, var6[32], var8);
      }

      if (var3 == null) {
         var3 = var2 + i[30] + var1 + "]";
      }

      return var3;
   }

   private String a(User var1) {
      String var2 = var1.getLogin();

      label33: {
         try {
            if (var2 != null && !"".equals(var2)) {
               break label33;
            }
         } catch (DataAccessException var4) {
            throw a(var4);
         }

         var2 = var1.getName();
      }

      try {
         if (var2 != null && !"".equals(var2)) {
            return var2;
         }
      } catch (DataAccessException var3) {
         throw a(var3);
      }

      return var1.getId();
   }

   private int b() {
      int var1 = this.h;
      if (var1 == 0) {
         var1 = ConfigFactory.getIntProperty(i[9], 5000);

         label21: {
            try {
               if (var1 <= 300000 && var1 >= 1000) {
                  break label21;
               }
            } catch (DataAccessException var2) {
               throw a(var2);
            }

            var1 = 5000;
         }

         this.h = var1;
      }

      return var1;
   }

   static {
      String[] var5 = new String[33];
      int var3 = 0;
      String var2 = "\u0004\u007f\u0006/!dP%~G+$o\u0014qb\u0002?;h\u001341\u000f(,e\u0015#bG``!\u001e>eG?(`\u0014(:\u0004\u007f\u0006/!dP%~G+$m\u00044cG=(s\u001d8e\u0013()!\u0000$s\u000b$>i\u001551\u0014(?w\u00192t\u0014m`,P?~\u0013m?d\u00115h!\u0012~\u0012!)oW%1\u0014,;dP<t\u0013?$b\u0003qb\u0012  `\u0002(1\u0005$#>qF/\b\u001fDP!t\u0015$\"e#%p\u00159m=Pka\u0002?$n\u0014\u0002e\u0006?9!1\u001fUG?(r\u001f=d\u0013$\"oPl1]?(r\u001f=d\u0013$\"o\u000e}1\u0014(?w\u00192t \"$eM\u001e\u0005c\u0006#>`\u0013%x\b#\u0000`\u001e0v\u0002?ml\u0005\"eG/(!\u00034e\u000e}1\u0014(?w\u00192t \"$eM\u0002qJ\u000b}1\u00038?`\u00048~\tp\u0013<t\u0013?$b\u0003\u0017x\t(\u0004o\u00044c\u0011,!-\u0012p\t#\"uP7x\t)mL\u0015%c\u000e.>C\u0019?bG$#!\u00140e\u0006/,r\u0015\u007f1O#\"e\u0015\u0018uZ\u0005mP)\u0014s\u0011}1\n,5Q\u0015#x\b)\u001eu\u0011#eZٮ\u0018_4\b\u001fUP\u0018_3\u0002mr\u0015#g\u000e.(^\u001d4e\u0015$.r/5t\u0013,$m\u0003[1Gmm)\u00034c\u0011$.d/<t\u0013?$b\u0003\u000ev\b$)-\u001d0a\u0017$#f/'p\u000b8(r/6~\u000e)a`\u0004%t\n=9d\u0014}p\u00129%n\u00028k\u0002)ab\u001f<a\u000b(9d\u0014}s\u0006.&^\u001d8\u007fK/,b\u001b\u000e|\u00065ac\u00112z8>8l\\7c\b#9^\u001d8\u007fK+?n\u001e%N\n,5-\u0016#~\t9\u0012r\u0005<8m\u001e\bM5\u0012Emmm!Py\u001bGmm!Pq1G\u001e\bM5\u0012EG*\"h\u0014qW5\u0002\u0000!\u00034c\u0011$.d/<t\u0013?$b\u0003qF/\b\u001fDzq1Gmm!Pq\u007f\b)(h\u0014l.G\f\u0003Ezq1Gmm!Pqa\u0012/!h\u00039t\u0003\u0012>d\u0002'x\u0004(\u0012f\u001f8uZrm@>\u0015\u001bGmm!Pq1G?(r\u001f=d\u0013$\"oMn1&\u0003\t\u000bPq1Gmm!P!t\u0015$\"e/\"e\u0006?9<O[1Gmm(P0bG$)-zq1Gm>l\u0014\u007f|\u0006==h\u001e6N\u0011,!t\u0015\"N\u0000\"$e\\[1Gmmb\u001f0}\u0002>.dX\"d\ne>l\u0014\u007fp\u00139(l\u0000%t\u0003da1Y}\u001bGmm!\u0013>p\u000b(>b\u0015yb\u0012 er\u001d5?\u000689i\u001f#x\u001d()(\\a8KGm!Pqr\b,!d\u00032tO>8lX\"|\u0003c.n\u001d!}\u00029(eY}!NaG!Pq1.\u000bel\u0019?9\u0004\",m\u0015\"r\u0002e>l\u0014\u007fs\u0006.&^\u001d8\u007fKm\u007f0Df%_~{5Gx8Z\u007f|5Ge)T{y6\\\u001fD+\u0001al\u0019?9\u0004\",m\u0015\"r\u0002e>l\u0014\u007fs\u0006.&^\u001d8\u007fKm\u007f0Df%_~{5Gx8NaG!Pq1.\u000bel\u0011)9\u0004\",m\u0015\"r\u0002e>l\u0014\u007fs\u0006.&^\u001d0iKm`0Yx,J|aO%\u001d]K ,yX2~\u0006!(r\u001349\u0014 )/\u00120r\f\u0012 `\b}1J|d(Y}\u001bGmm!9\u00179\u0004\",m\u0015\"r\u0002e>t\u001dyb\n)cc\u00112z8>8lY}!Ns\u007f0Df%_~{5G}#Vyz5Hb'Szab\u001f0}\u0002>.dX\"d\ne>l\u0014\u007fs\u0006.&^\u0003$|Na}(Y}\u001bGmm!9\u00179\n$#)\u0013>p\u000b(>b\u0015yb\n)cg\u0002>\u007f\u0013\u0012 h\u001e}1U|y6Di\"Qyz(Yl#Vyz5Hb'SzaO%\u001d]K $oX2~\u0006!(r\u001349\u0014 )/\u0016#~\t9\u0012l\u0019?=G\u007f|5Ge)T{y6Yx8KGm!PqX!e `\byr\b,!d\u00032tO> e^7c\b#9^\u001d0iKm`0Yx,J|aO%\u001d]K ,yX2~\u0006!(r\u001349\u0014 )/\u0016#~\t9\u0012l\u0011)=G`|(Yx=mmm!P\u0018WO.\"`\u001c4b\u0004(er\u0005<9\u0014 )/\u0016#~\t9\u0012r\u0005<8K}d?B`%Pyu2Fe&K\u007f|5Ge)T{y6\\2~\u0006!(r\u001349\u00148 )\u0003<uI+?n\u001e%N\u00148 (\\a8NG\u000bS?\u001c1\u0014(?w\u00192t8 (u\u00028r\u0014m>l\\qb\u0002?;h\u00134N\n(9s\u00192b8)(u\u00118}\u0014m>l\u0014[F/\b\u001fDPq1Gm>l^6~\u000e)m<P\"|\u0003c>d\u0002'x\u0004(\u0012l\u0015%c\u000e.>^\u0017>x\u0003m\fO4[1Gmmr\u001d\u007f\u007f\b)(h\u0014l.G\f\u0003Ezq1Gm>l^!d\u0005!$r\u00184u8>(s\u00068r\u0002\u0012*n\u00195,Xm\fO4[1Gmmr\u001d\u007fc\u0002>\"m\u0005%x\b#p>P\u0010_#Gm!Pqb\nc=d\u00028~\u0003\u0012>u\u0011#eYpr!P\u0010_#Gm!Pqb\nc=d\u00028~\u0003\u0012>u\u0011#eL> /\u0019?e\u0002?;`\u001c\u000eb\u000e7(=Mn\u001b \u001f\u0002T qS>m$e\\q|\u0006==h\u001e6N\u0011,!t\u0015\"N\u0000\"$ez\u001e_G\t\u0018Q<\u0018R&\u0019\b!;\u0014HG\u0018\u001dE1\u0005Tmmm!P0e\u0013( q\u00044uZ;,m\u00054bO,9u\u0015<a\u0013()(\\[1Gmm`\u0005%y\b?${\u00155,\u0011,!t\u0015\"9\u000689i\u001f#x\u001d()(\\[1Gmmb\u001f<a\u000b(9d\u0014lg\u0006!8d\u0003yr\b =m\u0015%t\u0003da\u000bPq1G/,b\u001b\u000e|\u000e#pw\u0011=d\u0002>ec\u00112z8 $oY}\u001bGmm!\u00120r\f\u0012 `\blg\u0006!8d\u0003ys\u0006.&^\u001d0iNaG!Pq1\u0005,.j/\"d\np;`\u001c$t\u0014e/`\u0013:N\u00148 (\\[1Gmmg\u0002>\u007f\u0013\u0012 h\u001elg\u0006!8d\u0003yw\u0015\"#u/<x\tda\u000bPq1G+?n\u001e%N\n,5<\u00060}\u0012(>)\u0016#~\t9\u0012l\u0011)8KGm!Pqw\u0015\"#u/\"d\np;`\u001c$t\u0014e+s\u001f?e8>8lYj\r}1\u0015(>n\u001c$e\u000e\"#<*\u0004\u007f\u0006/!dP%~G.%d\u0013:1\u0014(?w\u00192tG>9`\u000441J`mo\u001f%1\u0015(,e\t\r}1\u0015(>n\u001c$e\u000e\"#<4\u0012p\t#\"uP7x\t)mL\u0015%c\u000e.>C\u0019?bG$#!\u00140e\u0006/,r\u0015\u007f1O.!t\u0003%t\u0015\u0003\"e\u0015\u0018uZ\u0005mP)\u0014s\u00192}\u0012>9d\u0002\u001f~\u0003(\u0004eP<d\u00149mc\u0015qb\u00029\u0017\u0014c\u0015\"?!\u00030g\u000e#*!=4e\u0015$.r28\u007f\u001a\u0002t\u0015;$b\u0015\u001cp\t,*d\u0002q|\u0012>9!\u001241\u0014(9\f\u0015T+\b\u0019DP\u0017C(\u0000m!\u0017x\u000b9(s\u001551\u00178/m\u0019\"y\u0002)mr\u0015#g\u000e.(rP7c\b m\u0006\u0017~\u0012#)!B\u0015T+\b\u0019DP\u0017C(\u0000mr\u0015#g\u000e.(^\u001d4e\u0015$.r/5t\u0013,$m\u0003qF/\b\u001fDP\"t\u0015;$b\u0015\u000e|\u00029?h\u0013\"N\u0000\"$ePl1Xױ\u0018_4\b\u001fUP\u0018_3\u0002mr\u0015#g\u000e.(^\u001d4e\u0015$.rzq1Gmef\u001f8uK#\"e\u00158uK=8c\u001c8b\u000f()^\u00034c\u0011$.d/6~\u000e)as\u0015\"~\u000b89h\u001f?=\u0017(?h\u001f5N\u00149,s\u0004}x\t9(s\u00060}8>${\u0015}b\u0002?;h\u00134N\u00149,u\u0015}\u001bGmm!P\"e\u0006?9^\u00048|\u0002a(o\u0014\u000ee\u000e (-\u0011%e\u0002 =u\u00155=\u000689i\u001f#x\u001d()-\u0013>|\u0017!(u\u00155=\u0005,.j/<x\ta/`\u0013:N\n,5-\u00120r\f\u0012>t\u001d}w\u0015\"#u/<x\ta+s\u001f?e8 ,y\\7c\b#9^\u0003$|NG\u001eD<\u0014R3mr-O}.Kra>\\n=XaG!Pq1\n$#)\u0003%p\u00159\u0012u\u0019<tNaG!Pq1\n,5)\u0015?u89$l\u0015x=mmm!P2~\u0006!(r\u001349\u00148 )\u0011%e\u0002 =u\u001558K}d-zq1Gm.n\u0011=t\u0014.()\u0003$|O,8u\u0018>c\u000e7(eY}!NaG!Pq1\u0004\",m\u0015\"r\u0002e>t\u001dyr\b =m\u0015%t\u0003da1Y}\u001bGmm!9\u00179\n$#)\u0013>p\u000b(>b\u0015ys\u0006.&^\u001d8\u007fKm\u007f0Df%_~{5Gx8Z\u007f|5Ge)T{y6\\\u001fD+\u0001al\u0019?9\u0004\",m\u0015\"r\u0002e/`\u0013:N\n$#-Pc Szy9Cg%Pdd(\\[1GmmH6y|\u00065eb\u001f0}\u0002>.dX3p\u0004&\u0012l\u0011)=G`|(Yl<Va\u0003T<\u001d=\n,5)\u0013>p\u000b(>b\u0015ys\u0006.&^\u001d0iKm`0Yx8KGm!PqX!e.n\u0011=t\u0014.()\u0003$|O/,b\u001b\u000eb\u0012 d-@x/U|y6Di\"Qyz-B`%Pyu2Fe&K.\"`\u001c4b\u0004(er\u0005<9\u0005,.j/\"d\nda1Yx=mmm!P\u0018WO $oX2~\u0006!(r\u001349\u0001?\"o\u0004\u000e|\u000e#a!B`%Pyu2Fe&Ndp3Ae&Su~7Df=)\u0018\u0001M\\<x\te.n\u0011=t\u0014.()\u0016#~\t9\u0012l\u0019?=G\u007f|5Ge)T{y6Yx8KGm!PqX!e `\byr\b,!d\u00032tO+?n\u001e%N\n,5-P| Ndp,A}_2\u0001\u0001-\u001d0iO.\"`\u001c4b\u0004(eg\u0002>\u007f\u0013\u0012 `\b}1J|d(Y}\u001bGmm!9\u00179\u0004\",m\u0015\"r\u0002e>t\u001dyw\u0015\"#u/\"d\nda1Yo#Vyz5Hb'Sza3Ae&Su~7Df=\u0004\",m\u0015\"r\u0002e>t\u001dyw\u0015\"#u/\"d\nda1Yx\u001b!\u001f\u0002LP\"t\u0015;$b\u0015\u000e|\u00029?h\u0013\"10\u0005\bS5[1Gmmo\u001f5t\u000e)p>P\u0010_#Gm!Pqa\u0012/!h\u00039t\u0003\u0012>d\u0002'x\u0004(\u0012f\u001f8uZrm@>\u0015\u001bGmm!\u00024b\b!8u\u0019>\u007fZrm@>\u0015\u001bGmm!\u00004c\u000e\")^\u0003%p\u00159s<Oq1&\u0003\t\u000bPq1G=(s\u0019>u8>9`\u0002%:\u000e#9d\u0002'p\u000b\u0012>h\n4-ZrGF\"\u001eD7m\u000fXP?~\u0003($e\\!d\u0005!$r\u00184u8>(s\u00068r\u0002\u0012*n\u00195=\u0015(>n\u001c$e\u000e\"#\u000b8\u0010G.\u0003\n!\u001d8\u007fO>9`\u0002%N\u0013$ dYq/G}GN>qU2\u001d\u0001H3\u0010E\"m\u0006D)qD7\t\fU5[1Gmmr\u00040c\u0013\u00129h\u001d4,\u0011,!t\u0015\"9\u00149,s\u0004\u000ee\u000e ((\\[1Gmmd\u001e5N\u0013$ dM'p\u000b8(rX4\u007f\u0003\u00129h\u001d48KGm!Pqp\u00139(l\u0000%t\u0003p;`\u001c$t\u0014e,u\u00044|\u00179(eY}\u001bGmm!\u0011$e\u000f\"?h\n4uZ;,m\u00054bO,8u\u0018>c\u000e7(eY}\u001bGmm!\u0013>|\u0017!(u\u00155,\u0011,!t\u0015\"9\u0004\" q\u001c4e\u0002)d-zq1Gm/`\u0013:N\n$#<\u00060}\u0012(>)\u00120r\f\u0012 h\u001ex=mmm!P3p\u0004&\u0012l\u0011),\u0011,!t\u0015\"9\u0005,.j/<p\u001fda\u000bPq1G/,b\u001b\u000eb\u0012 pw\u0011=d\u0002>ec\u00112z8>8lY}\u001bGmm!\u0016#~\t9\u0012l\u0019?,\u0011,!t\u0015\"9\u0001?\"o\u0004\u000e|\u000e#d-zq1Gm+s\u001f?e8 ,yM'p\u000b8(rX7c\b#9^\u001d0iNaG!Pq1\u0001?\"o\u0004\u000eb\u0012 pw\u0011=d\u0002>eg\u0002>\u007f\u0013\u0012>t\u001dx*A\u0017p\u000e!(eP%~G>,w\u0015qe\u000f(mj\u0015(bG\"?!\u00060}\u0012(>!\u001f71\u0013%(!\u001d4b\u0014,*dP2~\t9(y\u0004q|\u0006==h\u001e6?\u0011}1\n$#Q\u0015#x\b)\u001eu\u0011#eZ\u001bq|\u00029?h\u0013\"1\u0005$#rP%~G>8l\u001d0c\u000e7(/\u0003qJD";
      int var4 = "\u0004\u007f\u0006/!dP%~G+$o\u0014qb\u0002?;h\u001341\u000f(,e\u0015#bG``!\u001e>eG?(`\u0014(:\u0004\u007f\u0006/!dP%~G+$m\u00044cG=(s\u001d8e\u0013()!\u0000$s\u000b$>i\u001551\u0014(?w\u00192t\u0014m`,P?~\u0013m?d\u00115h!\u0012~\u0012!)oW%1\u0014,;dP<t\u0013?$b\u0003qb\u0012  `\u0002(1\u0005$#>qF/\b\u001fDP!t\u0015$\"e#%p\u00159m=Pka\u0002?$n\u0014\u0002e\u0006?9!1\u001fUG?(r\u001f=d\u0013$\"oPl1]?(r\u001f=d\u0013$\"o\u000e}1\u0014(?w\u00192t \"$eM\u001e\u0005c\u0006#>`\u0013%x\b#\u0000`\u001e0v\u0002?ml\u0005\"eG/(!\u00034e\u000e}1\u0014(?w\u00192t \"$eM\u0002qJ\u000b}1\u00038?`\u00048~\tp\u0013<t\u0013?$b\u0003\u0017x\t(\u0004o\u00044c\u0011,!-\u0012p\t#\"uP7x\t)mL\u0015%c\u000e.>C\u0019?bG$#!\u00140e\u0006/,r\u0015\u007f1O#\"e\u0015\u0018uZ\u0005mP)\u0014s\u0011}1\n,5Q\u0015#x\b)\u001eu\u0011#eZٮ\u0018_4\b\u001fUP\u0018_3\u0002mr\u0015#g\u000e.(^\u001d4e\u0015$.r/5t\u0013,$m\u0003[1Gmm)\u00034c\u0011$.d/<t\u0013?$b\u0003\u000ev\b$)-\u001d0a\u0017$#f/'p\u000b8(r/6~\u000e)a`\u0004%t\n=9d\u0014}p\u00129%n\u00028k\u0002)ab\u001f<a\u000b(9d\u0014}s\u0006.&^\u001d8\u007fK/,b\u001b\u000e|\u00065ac\u00112z8>8l\\7c\b#9^\u001d8\u007fK+?n\u001e%N\n,5-\u0016#~\t9\u0012r\u0005<8m\u001e\bM5\u0012Emmm!Py\u001bGmm!Pq1G\u001e\bM5\u0012EG*\"h\u0014qW5\u0002\u0000!\u00034c\u0011$.d/<t\u0013?$b\u0003qF/\b\u001fDzq1Gmm!Pq\u007f\b)(h\u0014l.G\f\u0003Ezq1Gmm!Pqa\u0012/!h\u00039t\u0003\u0012>d\u0002'x\u0004(\u0012f\u001f8uZrm@>\u0015\u001bGmm!Pq1G?(r\u001f=d\u0013$\"oMn1&\u0003\t\u000bPq1Gmm!P!t\u0015$\"e/\"e\u0006?9<O[1Gmm(P0bG$)-zq1Gm>l\u0014\u007f|\u0006==h\u001e6N\u0011,!t\u0015\"N\u0000\"$e\\[1Gmmb\u001f0}\u0002>.dX\"d\ne>l\u0014\u007fp\u00139(l\u0000%t\u0003da1Y}\u001bGmm!\u0013>p\u000b(>b\u0015yb\u0012 er\u001d5?\u000689i\u001f#x\u001d()(\\a8KGm!Pqr\b,!d\u00032tO>8lX\"|\u0003c.n\u001d!}\u00029(eY}!NaG!Pq1.\u000bel\u0019?9\u0004\",m\u0015\"r\u0002e>l\u0014\u007fs\u0006.&^\u001d8\u007fKm\u007f0Df%_~{5Gx8Z\u007f|5Ge)T{y6\\\u001fD+\u0001al\u0019?9\u0004\",m\u0015\"r\u0002e>l\u0014\u007fs\u0006.&^\u001d8\u007fKm\u007f0Df%_~{5Gx8NaG!Pq1.\u000bel\u0011)9\u0004\",m\u0015\"r\u0002e>l\u0014\u007fs\u0006.&^\u001d0iKm`0Yx,J|aO%\u001d]K ,yX2~\u0006!(r\u001349\u0014 )/\u00120r\f\u0012 `\b}1J|d(Y}\u001bGmm!9\u00179\u0004\",m\u0015\"r\u0002e>t\u001dyb\n)cc\u00112z8>8lY}!Ns\u007f0Df%_~{5G}#Vyz5Hb'Szab\u001f0}\u0002>.dX\"d\ne>l\u0014\u007fs\u0006.&^\u0003$|Na}(Y}\u001bGmm!9\u00179\n$#)\u0013>p\u000b(>b\u0015yb\n)cg\u0002>\u007f\u0013\u0012 h\u001e}1U|y6Di\"Qyz(Yl#Vyz5Hb'SzaO%\u001d]K $oX2~\u0006!(r\u001349\u0014 )/\u0016#~\t9\u0012l\u0019?=G\u007f|5Ge)T{y6Yx8KGm!PqX!e `\byr\b,!d\u00032tO> e^7c\b#9^\u001d0iKm`0Yx,J|aO%\u001d]K ,yX2~\u0006!(r\u001349\u0014 )/\u0016#~\t9\u0012l\u0011)=G`|(Yx=mmm!P\u0018WO.\"`\u001c4b\u0004(er\u0005<9\u0014 )/\u0016#~\t9\u0012r\u0005<8K}d?B`%Pyu2Fe&K\u007f|5Ge)T{y6\\2~\u0006!(r\u001349\u00148 )\u0003<uI+?n\u001e%N\u00148 (\\a8NG\u000bS?\u001c1\u0014(?w\u00192t8 (u\u00028r\u0014m>l\\qb\u0002?;h\u00134N\n(9s\u00192b8)(u\u00118}\u0014m>l\u0014[F/\b\u001fDPq1Gm>l^6~\u000e)m<P\"|\u0003c>d\u0002'x\u0004(\u0012l\u0015%c\u000e.>^\u0017>x\u0003m\fO4[1Gmmr\u001d\u007f\u007f\b)(h\u0014l.G\f\u0003Ezq1Gm>l^!d\u0005!$r\u00184u8>(s\u00068r\u0002\u0012*n\u00195,Xm\fO4[1Gmmr\u001d\u007fc\u0002>\"m\u0005%x\b#p>P\u0010_#Gm!Pqb\nc=d\u00028~\u0003\u0012>u\u0011#eYpr!P\u0010_#Gm!Pqb\nc=d\u00028~\u0003\u0012>u\u0011#eL> /\u0019?e\u0002?;`\u001c\u000eb\u000e7(=Mn\u001b \u001f\u0002T qS>m$e\\q|\u0006==h\u001e6N\u0011,!t\u0015\"N\u0000\"$ez\u001e_G\t\u0018Q<\u0018R&\u0019\b!;\u0014HG\u0018\u001dE1\u0005Tmmm!P0e\u0013( q\u00044uZ;,m\u00054bO,9u\u0015<a\u0013()(\\[1Gmm`\u0005%y\b?${\u00155,\u0011,!t\u0015\"9\u000689i\u001f#x\u001d()(\\[1Gmmb\u001f<a\u000b(9d\u0014lg\u0006!8d\u0003yr\b =m\u0015%t\u0003da\u000bPq1G/,b\u001b\u000e|\u000e#pw\u0011=d\u0002>ec\u00112z8 $oY}\u001bGmm!\u00120r\f\u0012 `\blg\u0006!8d\u0003ys\u0006.&^\u001d0iNaG!Pq1\u0005,.j/\"d\np;`\u001c$t\u0014e/`\u0013:N\u00148 (\\[1Gmmg\u0002>\u007f\u0013\u0012 h\u001elg\u0006!8d\u0003yw\u0015\"#u/<x\tda\u000bPq1G+?n\u001e%N\n,5<\u00060}\u0012(>)\u0016#~\t9\u0012l\u0011)8KGm!Pqw\u0015\"#u/\"d\np;`\u001c$t\u0014e+s\u001f?e8>8lYj\r}1\u0015(>n\u001c$e\u000e\"#<*\u0004\u007f\u0006/!dP%~G.%d\u0013:1\u0014(?w\u00192tG>9`\u000441J`mo\u001f%1\u0015(,e\t\r}1\u0015(>n\u001c$e\u000e\"#<4\u0012p\t#\"uP7x\t)mL\u0015%c\u000e.>C\u0019?bG$#!\u00140e\u0006/,r\u0015\u007f1O.!t\u0003%t\u0015\u0003\"e\u0015\u0018uZ\u0005mP)\u0014s\u00192}\u0012>9d\u0002\u001f~\u0003(\u0004eP<d\u00149mc\u0015qb\u00029\u0017\u0014c\u0015\"?!\u00030g\u000e#*!=4e\u0015$.r28\u007f\u001a\u0002t\u0015;$b\u0015\u001cp\t,*d\u0002q|\u0012>9!\u001241\u0014(9\f\u0015T+\b\u0019DP\u0017C(\u0000m!\u0017x\u000b9(s\u001551\u00178/m\u0019\"y\u0002)mr\u0015#g\u000e.(rP7c\b m\u0006\u0017~\u0012#)!B\u0015T+\b\u0019DP\u0017C(\u0000mr\u0015#g\u000e.(^\u001d4e\u0015$.r/5t\u0013,$m\u0003qF/\b\u001fDP\"t\u0015;$b\u0015\u000e|\u00029?h\u0013\"N\u0000\"$ePl1Xױ\u0018_4\b\u001fUP\u0018_3\u0002mr\u0015#g\u000e.(^\u001d4e\u0015$.rzq1Gmef\u001f8uK#\"e\u00158uK=8c\u001c8b\u000f()^\u00034c\u0011$.d/6~\u000e)as\u0015\"~\u000b89h\u001f?=\u0017(?h\u001f5N\u00149,s\u0004}x\t9(s\u00060}8>${\u0015}b\u0002?;h\u00134N\u00149,u\u0015}\u001bGmm!P\"e\u0006?9^\u00048|\u0002a(o\u0014\u000ee\u000e (-\u0011%e\u0002 =u\u00155=\u000689i\u001f#x\u001d()-\u0013>|\u0017!(u\u00155=\u0005,.j/<x\ta/`\u0013:N\n,5-\u00120r\f\u0012>t\u001d}w\u0015\"#u/<x\ta+s\u001f?e8 ,y\\7c\b#9^\u0003$|NG\u001eD<\u0014R3mr-O}.Kra>\\n=XaG!Pq1\n$#)\u0003%p\u00159\u0012u\u0019<tNaG!Pq1\n,5)\u0015?u89$l\u0015x=mmm!P2~\u0006!(r\u001349\u00148 )\u0011%e\u0002 =u\u001558K}d-zq1Gm.n\u0011=t\u0014.()\u0003$|O,8u\u0018>c\u000e7(eY}!NaG!Pq1\u0004\",m\u0015\"r\u0002e>t\u001dyr\b =m\u0015%t\u0003da1Y}\u001bGmm!9\u00179\n$#)\u0013>p\u000b(>b\u0015ys\u0006.&^\u001d8\u007fKm\u007f0Df%_~{5Gx8Z\u007f|5Ge)T{y6\\\u001fD+\u0001al\u0019?9\u0004\",m\u0015\"r\u0002e/`\u0013:N\n$#-Pc Szy9Cg%Pdd(\\[1GmmH6y|\u00065eb\u001f0}\u0002>.dX3p\u0004&\u0012l\u0011)=G`|(Yl<Va\u0003T<\u001d=\n,5)\u0013>p\u000b(>b\u0015ys\u0006.&^\u001d0iKm`0Yx8KGm!PqX!e.n\u0011=t\u0014.()\u0003$|O/,b\u001b\u000eb\u0012 d-@x/U|y6Di\"Qyz-B`%Pyu2Fe&K.\"`\u001c4b\u0004(er\u0005<9\u0005,.j/\"d\nda1Yx=mmm!P\u0018WO $oX2~\u0006!(r\u001349\u0001?\"o\u0004\u000e|\u000e#a!B`%Pyu2Fe&Ndp3Ae&Su~7Df=)\u0018\u0001M\\<x\te.n\u0011=t\u0014.()\u0016#~\t9\u0012l\u0019?=G\u007f|5Ge)T{y6Yx8KGm!PqX!e `\byr\b,!d\u00032tO+?n\u001e%N\n,5-P| Ndp,A}_2\u0001\u0001-\u001d0iO.\"`\u001c4b\u0004(eg\u0002>\u007f\u0013\u0012 `\b}1J|d(Y}\u001bGmm!9\u00179\u0004\",m\u0015\"r\u0002e>t\u001dyw\u0015\"#u/\"d\nda1Yo#Vyz5Hb'Sza3Ae&Su~7Df=\u0004\",m\u0015\"r\u0002e>t\u001dyw\u0015\"#u/\"d\nda1Yx\u001b!\u001f\u0002LP\"t\u0015;$b\u0015\u000e|\u00029?h\u0013\"10\u0005\bS5[1Gmmo\u001f5t\u000e)p>P\u0010_#Gm!Pqa\u0012/!h\u00039t\u0003\u0012>d\u0002'x\u0004(\u0012f\u001f8uZrm@>\u0015\u001bGmm!\u00024b\b!8u\u0019>\u007fZrm@>\u0015\u001bGmm!\u00004c\u000e\")^\u0003%p\u00159s<Oq1&\u0003\t\u000bPq1G=(s\u0019>u8>9`\u0002%:\u000e#9d\u0002'p\u000b\u0012>h\n4-ZrGF\"\u001eD7m\u000fXP?~\u0003($e\\!d\u0005!$r\u00184u8>(s\u00068r\u0002\u0012*n\u00195=\u0015(>n\u001c$e\u000e\"#\u000b8\u0010G.\u0003\n!\u001d8\u007fO>9`\u0002%N\u0013$ dYq/G}GN>qU2\u001d\u0001H3\u0010E\"m\u0006D)qD7\t\fU5[1Gmmr\u00040c\u0013\u00129h\u001d4,\u0011,!t\u0015\"9\u00149,s\u0004\u000ee\u000e ((\\[1Gmmd\u001e5N\u0013$ dM'p\u000b8(rX4\u007f\u0003\u00129h\u001d48KGm!Pqp\u00139(l\u0000%t\u0003p;`\u001c$t\u0014e,u\u00044|\u00179(eY}\u001bGmm!\u0011$e\u000f\"?h\n4uZ;,m\u00054bO,8u\u0018>c\u000e7(eY}\u001bGmm!\u0013>|\u0017!(u\u00155,\u0011,!t\u0015\"9\u0004\" q\u001c4e\u0002)d-zq1Gm/`\u0013:N\n$#<\u00060}\u0012(>)\u00120r\f\u0012 h\u001ex=mmm!P3p\u0004&\u0012l\u0011),\u0011,!t\u0015\"9\u0005,.j/<p\u001fda\u000bPq1G/,b\u001b\u000eb\u0012 pw\u0011=d\u0002>ec\u00112z8>8lY}\u001bGmm!\u0016#~\t9\u0012l\u0019?,\u0011,!t\u0015\"9\u0001?\"o\u0004\u000e|\u000e#d-zq1Gm+s\u001f?e8 ,yM'p\u000b8(rX7c\b#9^\u001d0iNaG!Pq1\u0001?\"o\u0004\u000eb\u0012 pw\u0011=d\u0002>eg\u0002>\u007f\u0013\u0012>t\u001dx*A\u0017p\u000e!(eP%~G>,w\u0015qe\u000f(mj\u0015(bG\"?!\u00060}\u0012(>!\u001f71\u0013%(!\u001d4b\u0014,*dP2~\t9(y\u0004q|\u0006==h\u001e6?\u0011}1\n$#Q\u0015#x\b)\u001eu\u0011#eZ\u001bq|\u00029?h\u0013\"1\u0005$#rP%~G>8l\u001d0c\u000e7(/\u0003qJD"
         .length();
      char var1 = '+';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 37;
         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) {
                     i = var5;
                     String[] var10 = i;
                     d = i[13];
                     c = var10[26];
                     b = var10[25];
                     String var11 = MetricsBin.class.getName();
                     String[] var8 = i;
                     a = var8[22] + var11 + var8[3];
                     e = Logger.getLogger(ServiceMetricsManagerImpl.class.getName());
                     f = new ConfiguredSessionFactoryBean.ConfiguredGOIDGenerator();
                     return;
                  }

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

                  var2 = "WC.K\u001d2E3\u0004\u0019\u00077\u0014T$\u0018\u0018N8\u0010\u00174\u0018\u000eUv\u0013R5\n\u0002K%Y";
                  var4 = "WC.K\u001d2E3\u0004\u0019\u00077\u0014T$\u0018\u0018N8\u0010\u00174\u0018\u000eUv\u0013R5\n\u0002K%Y".length();
                  var1 = 4;
                  var7 = -1;
            }

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

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

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

      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 -> 116;
            case 1 -> 52;
            case 2 -> 66;
            case 3 -> 104;
            case 4 -> 104;
            case 5 -> 36;
            default -> 85;
         });
      }

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