// Decompiled with JetBrains decompiler
// Type: .
// Assembly: Stub, Version=2.1.1.1, Culture=neutral, PublicKeyToken=null
// MVID: EC6FBD32-3576-4D40-B4A5-7808EA9CDA7F
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan-Spy.MSIL.Redator.a-a676d1ab529ccd4de171c2caa0cf6a0e3a6f2ad515fcc76ba420581168da84db.exe

using \u0004;
using \u0006;
using Microsoft.VisualBasic.ApplicationServices;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace \u0004
{
  [GeneratedCode("MyTemplate", "8.0.0.0")]
  internal sealed class \u0002
  {
    private static readonly \u0002.\u0003<\u0001> \u0001 = new \u0002.\u0003<\u0001>();
    private static readonly \u0002.\u0003<\u0003.\u0003> \u0001 = new \u0002.\u0003<\u0003.\u0003>();
    private static readonly \u0002.\u0003<User> \u0001 = new \u0002.\u0003<User>();
    private static \u0002.\u0003<\u0002.\u0001> \u0001 = new \u0002.\u0003<\u0002.\u0001>();
    private static readonly \u0002.\u0003<\u0002.\u0002> \u0001 = new \u0002.\u0003<\u0002.\u0002>();

    [DebuggerNonUserCode]
    static \u0002()
    {
    }

    internal static \u0001 \u0003() => \u0002.\u0001.\u0003();

    internal static \u0003.\u0003 \u0003() => \u0002.\u0001.\u0003();

    internal static \u0002.\u0001 \u0003() => \u0002.\u0001.\u0003();

    [EditorBrowsable(EditorBrowsableState.Never)]
    internal sealed class \u0001
    {
      public \u0006.\u0003 \u0001;
      [ThreadStatic]
      private static Hashtable \u0001;

      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u0001()
      {
      }

      [DebuggerNonUserCode]
      public \u0006.\u0003 \u0003()
      {
        this.\u0001 = \u0002.\u0001.\u0003<\u0006.\u0003>(this.\u0001);
        return this.\u0001;
      }

      private static T \u0003<T>([In] T obj0) where T : Form, new()
      {
        if ((object) obj0 != null && !obj0.IsDisposed)
          return obj0;
        if (\u0002.\u0001.\u0001 != null)
        {
          if (\u0002.\u0001.\u0001.ContainsKey((object) typeof (T)))
            throw new InvalidOperationException(Utils.GetResourceString(\u0001.\u0003(-1567517723)));
        }
        else
          goto label_10;
label_4:
        \u0002.\u0001.\u0001.Add((object) typeof (T), (object) null);
        try
        {
          return new T();
        }
        catch (TargetInvocationException ex) when (
        {
          // ISSUE: unable to correctly present filter
          ProjectData.SetProjectError((Exception) ex);
          if (ex.InnerException != null)
          {
            SuccessfulFiltering;
          }
          else
            throw;
        }
        )
        {
          throw new InvalidOperationException(Utils.GetResourceString(\u0001.\u0003(-1567517798), ex.InnerException.Message), ex.InnerException);
        }
        finally
        {
          \u0002.\u0001.\u0001.Remove((object) typeof (T));
        }
label_10:
        \u0002.\u0001.\u0001 = new Hashtable();
        goto label_4;
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override bool Equals([In] object obj0) => base.Equals(RuntimeHelpers.GetObjectValue(obj0));

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode() => base.GetHashCode();

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString() => base.ToString();
    }

    [EditorBrowsable(EditorBrowsableState.Never)]
    internal sealed class \u0002
    {
      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u0002()
      {
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override bool Equals([In] object obj0) => base.Equals(RuntimeHelpers.GetObjectValue(obj0));

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode() => base.GetHashCode();

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString() => base.ToString();
    }

    [EditorBrowsable(EditorBrowsableState.Never)]
    internal sealed class \u0003<\u0002> where \u0002 : new()
    {
      [ThreadStatic]
      private static \u0002 \u0001;

      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u0003()
      {
      }

      internal \u0002 \u0003()
      {
        if ((object) \u0002.\u0003<\u0002>.\u0001 == null)
          goto label_2;
label_1:
        return \u0002.\u0003<\u0002>.\u0001;
label_2:
        \u0002.\u0003<\u0002>.\u0001 = new \u0002();
        goto label_1;
      }
    }
  }
}
