﻿// Decompiled with JetBrains decompiler
// Type: System.Web.Security.AntiXss.CodeCharts.UpperMiddle
// Assembly: System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// MVID: 7E68A73E-4066-4F24-AB0A-F147209F50EC
// Assembly location: C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Web.dll

using System;
using System.Collections;
using System.Linq;
using System.Web.Security.AntiXss;

namespace System.Web.Security.AntiXss.CodeCharts
{
  internal static class UpperMiddle
  {
    public static bool IsFlagSet(UpperMidCodeCharts flags, UpperMidCodeCharts flagToCheck)
    {
      return (flags & flagToCheck) != UpperMidCodeCharts.None;
    }

    public static IEnumerable CyrillicExtendedA()
    {
      return (IEnumerable) CodeChartHelper.GetRange(11744, 11775);
    }

    public static IEnumerable SupplementalPunctuation()
    {
      return (IEnumerable) CodeChartHelper.GetRange(11776, 11825);
    }

    public static IEnumerable CjkRadicalsSupplement()
    {
      return (IEnumerable) CodeChartHelper.GetRange(11904, 12019, (Func<int, bool>) (i => i == 11930));
    }

    public static IEnumerable KangxiRadicals()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12032, 12245);
    }

    public static IEnumerable IdeographicDescriptionCharacters()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12272, 12283);
    }

    public static IEnumerable CjkSymbolsAndPunctuation()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12288, 12351);
    }

    public static IEnumerable Hiragana()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12353, 12447, (Func<int, bool>) (i =>
      {
        if (i != 12439)
          return i == 12440;
        return true;
      }));
    }

    public static IEnumerable Katakana()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12448, 12543);
    }

    public static IEnumerable Bopomofo()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12549, 12589);
    }

    public static IEnumerable HangulCompatibilityJamo()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12593, 12686);
    }

    public static IEnumerable Kanbun()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12688, 12703);
    }

    public static IEnumerable BopomofoExtended()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12704, 12727);
    }

    public static IEnumerable CjkStrokes()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12736, 12771);
    }

    public static IEnumerable KatakanaPhoneticExtensions()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12784, 12799);
    }

    public static IEnumerable EnclosedCjkLettersAndMonths()
    {
      return (IEnumerable) CodeChartHelper.GetRange(12800, 13054, (Func<int, bool>) (i => i == 12831));
    }

    public static IEnumerable CjkCompatibility()
    {
      return (IEnumerable) CodeChartHelper.GetRange(13056, 13311);
    }

    public static IEnumerable CjkUnifiedIdeographsExtensionA()
    {
      return (IEnumerable) CodeChartHelper.GetRange(13312, 19893);
    }

    public static IEnumerable YijingHexagramSymbols()
    {
      return (IEnumerable) CodeChartHelper.GetRange(19904, 19967);
    }

    public static IEnumerable CjkUnifiedIdeographs()
    {
      return (IEnumerable) CodeChartHelper.GetRange(19968, 40907);
    }

    public static IEnumerable YiSyllables()
    {
      return (IEnumerable) CodeChartHelper.GetRange(40960, 42124);
    }

    public static IEnumerable YiRadicals()
    {
      return (IEnumerable) CodeChartHelper.GetRange(42128, 42182);
    }

    public static IEnumerable Lisu()
    {
      return (IEnumerable) CodeChartHelper.GetRange(42192, 42239);
    }

    public static IEnumerable Vai()
    {
      return (IEnumerable) CodeChartHelper.GetRange(42240, 42539);
    }

    public static IEnumerable CyrillicExtendedB()
    {
      return (IEnumerable) CodeChartHelper.GetRange(42560, 42647, (Func<int, bool>) (i =>
      {
        if (i == 42592 || i == 42593)
          return true;
        if (i >= 42612)
          return i <= 42619;
        return false;
      }));
    }

    public static IEnumerable Bamum()
    {
      return (IEnumerable) CodeChartHelper.GetRange(42656, 42743);
    }

    public static IEnumerable ModifierToneLetters()
    {
      return (IEnumerable) CodeChartHelper.GetRange(42752, 42783);
    }

    public static IEnumerable LatinExtendedD()
    {
      return (IEnumerable) Enumerable.Concat<int>(CodeChartHelper.GetRange(42784, 42892), CodeChartHelper.GetRange(43003, 43007));
    }

    public static IEnumerable SylotiNagri()
    {
      return (IEnumerable) CodeChartHelper.GetRange(43008, 43051);
    }

    public static IEnumerable CommonIndicNumberForms()
    {
      return (IEnumerable) CodeChartHelper.GetRange(43056, 43065);
    }

    public static IEnumerable Phagspa()
    {
      return (IEnumerable) CodeChartHelper.GetRange(43072, 43127);
    }

    public static IEnumerable Saurashtra()
    {
      return (IEnumerable) CodeChartHelper.GetRange(43136, 43225, (Func<int, bool>) (i =>
      {
        if (i >= 43205)
          return i <= 43213;
        return false;
      }));
    }
  }
}
