class sun.util.resources.LocaleData$LocaleDataStrategy implements sun.util.resources.Bundles$Strategy
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.util.resources.LocaleData$LocaleDataStrategy
  super_class: java.lang.Object
{
  private static final sun.util.resources.LocaleData$LocaleDataStrategy INSTANCE;
    descriptor: Lsun/util/resources/LocaleData$LocaleDataStrategy;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.util.Set<java.util.Locale> JAVA_BASE_LOCALES;
    descriptor: Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Set<Ljava/util/Locale;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 237
            ldc Lsun/util/resources/LocaleData;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.util.resources.LocaleData$LocaleDataStrategy.$assertionsDisabled:Z
         3: .line 238
            new sun.util.resources.LocaleData$LocaleDataStrategy
            dup
            invokespecial sun.util.resources.LocaleData$LocaleDataStrategy.<init>:()V
            putstatic sun.util.resources.LocaleData$LocaleDataStrategy.INSTANCE:Lsun/util/resources/LocaleData$LocaleDataStrategy;
         4: .line 241
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            getstatic java.util.Locale.US:Ljava/util/Locale;
            new java.util.Locale
            dup
            ldc "en"
            ldc "US"
            ldc "POSIX"
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            invokestatic java.util.Set.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;
         5: .line 240
            putstatic sun.util.resources.LocaleData$LocaleDataStrategy.JAVA_BASE_LOCALES:Ljava/util/Set;
         6: .line 241
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
         0: .line 243
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 244
            return
        end local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/util/resources/LocaleData$LocaleDataStrategy;

  public java.util.List<java.util.Locale> getCandidateLocales(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
        start local 1 // java.lang.String baseName
        start local 2 // java.util.Locale locale
         0: .line 258
            new java.lang.StringBuilder
            dup
            aload 1 /* baseName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* locale */
            invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         1: .line 259
            getstatic sun.util.resources.LocaleData.CANDIDATES_MAP:Ljava/util/Map;
            aload 3 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* candidates */
        start local 4 // java.util.List candidates
         2: .line 260
            aload 4 /* candidates */
            ifnonnull 23
         3: .line 261
            aload 1 /* baseName */
            ldc ".cldr"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 4
            getstatic sun.util.locale.provider.LocaleProviderAdapter$Type.CLDR:Lsun/util/locale/provider/LocaleProviderAdapter$Type;
            goto 5
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
         4: getstatic sun.util.locale.provider.LocaleProviderAdapter$Type.JRE:Lsun/util/locale/provider/LocaleProviderAdapter$Type;
      StackMap locals:
      StackMap stack: sun.util.locale.provider.LocaleProviderAdapter$Type
         5: astore 5 /* type */
        start local 5 // sun.util.locale.provider.LocaleProviderAdapter$Type type
         6: .line 262
            aload 5 /* type */
            invokestatic sun.util.locale.provider.LocaleProviderAdapter.forType:(Lsun/util/locale/provider/LocaleProviderAdapter$Type;)Lsun/util/locale/provider/LocaleProviderAdapter;
            astore 6 /* adapter */
        start local 6 // sun.util.locale.provider.LocaleProviderAdapter adapter
         7: .line 263
            aload 6 /* adapter */
            instanceof sun.util.locale.provider.ResourceBundleBasedAdapter
            ifeq 9
         8: .line 264
            aload 6 /* adapter */
            checkcast sun.util.locale.provider.ResourceBundleBasedAdapter
            aload 1 /* baseName */
            aload 2 /* locale */
            invokeinterface sun.util.locale.provider.ResourceBundleBasedAdapter.getCandidateLocales:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
            goto 10
         9: .line 265
      StackMap locals: sun.util.locale.provider.LocaleProviderAdapter$Type sun.util.locale.provider.LocaleProviderAdapter
      StackMap stack:
            getstatic sun.util.resources.LocaleData.defaultControl:Ljava/util/ResourceBundle$Control;
            aload 1 /* baseName */
            aload 2 /* locale */
            invokevirtual java.util.ResourceBundle$Control.getCandidateLocales:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
        10: .line 263
      StackMap locals:
      StackMap stack: java.util.List
            astore 4 /* candidates */
        11: .line 268
            aload 1 /* baseName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 7 /* lastDot */
        start local 7 // int lastDot
        12: .line 269
            iload 7 /* lastDot */
            iflt 13
            aload 1 /* baseName */
            iload 7 /* lastDot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 14
      StackMap locals: int
      StackMap stack:
        13: aload 1 /* baseName */
      StackMap locals:
      StackMap stack: java.lang.String
        14: astore 8 /* category */
        start local 8 // java.lang.String category
        15: .line 270
            aload 6 /* adapter */
            checkcast sun.util.locale.provider.JRELocaleProviderAdapter
            aload 8 /* category */
            invokevirtual sun.util.locale.provider.JRELocaleProviderAdapter.getLanguageTagSet:(Ljava/lang/String;)Ljava/util/Set;
            astore 9 /* langtags */
        start local 9 // java.util.Set langtags
        16: .line 271
            aload 9 /* langtags */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 22
        17: .line 272
            aload 4 /* candidates */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10 /* itr */
        start local 10 // java.util.Iterator itr
        18: goto 21
        19: .line 273
      StackMap locals: java.lang.String java.util.Set java.util.Iterator
      StackMap stack:
            aload 6 /* adapter */
            aload 10 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale
            aload 9 /* langtags */
            invokevirtual sun.util.locale.provider.LocaleProviderAdapter.isSupportedProviderLocale:(Ljava/util/Locale;Ljava/util/Set;)Z
            ifne 21
        20: .line 274
            aload 10 /* itr */
            invokeinterface java.util.Iterator.remove:()V
        21: .line 272
      StackMap locals:
      StackMap stack:
            aload 10 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        end local 10 // java.util.Iterator itr
        22: .line 278
      StackMap locals:
      StackMap stack:
            getstatic sun.util.resources.LocaleData.CANDIDATES_MAP:Ljava/util/Map;
            aload 3 /* key */
            aload 4 /* candidates */
            invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.util.Set langtags
        end local 8 // java.lang.String category
        end local 7 // int lastDot
        end local 6 // sun.util.locale.provider.LocaleProviderAdapter adapter
        end local 5 // sun.util.locale.provider.LocaleProviderAdapter$Type type
        23: .line 280
      StackMap locals: sun.util.resources.LocaleData$LocaleDataStrategy java.lang.String java.util.Locale java.lang.String java.util.List
      StackMap stack:
            aload 4 /* candidates */
            areturn
        end local 4 // java.util.List candidates
        end local 3 // java.lang.String key
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String baseName
        end local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lsun/util/resources/LocaleData$LocaleDataStrategy;
            0   24     1    baseName  Ljava/lang/String;
            0   24     2      locale  Ljava/util/Locale;
            1   24     3         key  Ljava/lang/String;
            2   24     4  candidates  Ljava/util/List<Ljava/util/Locale;>;
            6   23     5        type  Lsun/util/locale/provider/LocaleProviderAdapter$Type;
            7   23     6     adapter  Lsun/util/locale/provider/LocaleProviderAdapter;
           12   23     7     lastDot  I
           15   23     8    category  Ljava/lang/String;
           16   23     9    langtags  Ljava/util/Set<Ljava/lang/String;>;
           18   22    10         itr  Ljava/util/Iterator<Ljava/util/Locale;>;
    Signature: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List<Ljava/util/Locale;>;
    MethodParameters:
          Name  Flags
      baseName  
      locale    

  boolean inJavaBaseModule(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
        start local 1 // java.lang.String baseName
        start local 2 // java.util.Locale locale
         0: .line 284
            getstatic sun.util.resources.LocaleData$LocaleDataStrategy.JAVA_BASE_LOCALES:Ljava/util/Set;
            aload 2 /* locale */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String baseName
        end local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/util/resources/LocaleData$LocaleDataStrategy;
            0    1     1  baseName  Ljava/lang/String;
            0    1     2    locale  Ljava/util/Locale;
    MethodParameters:
          Name  Flags
      baseName  
      locale    

  public java.lang.String toBundleName(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
        start local 1 // java.lang.String baseName
        start local 2 // java.util.Locale locale
         0: .line 289
            aload 1 /* baseName */
            astore 3 /* newBaseName */
        start local 3 // java.lang.String newBaseName
         1: .line 290
            aload 0 /* this */
            aload 1 /* baseName */
            aload 2 /* locale */
            invokevirtual sun.util.resources.LocaleData$LocaleDataStrategy.inJavaBaseModule:(Ljava/lang/String;Ljava/util/Locale;)Z
            ifne 13
         2: .line 291
            aload 1 /* baseName */
            getstatic sun.util.locale.provider.LocaleProviderAdapter$Type.JRE:Lsun/util/locale/provider/LocaleProviderAdapter$Type;
            invokevirtual sun.util.locale.provider.LocaleProviderAdapter$Type.getUtilResourcesPackage:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 292
            aload 1 /* baseName */
            getstatic sun.util.locale.provider.LocaleProviderAdapter$Type.JRE:Lsun/util/locale/provider/LocaleProviderAdapter$Type;
            invokevirtual sun.util.locale.provider.LocaleProviderAdapter$Type.getTextResourcesPackage:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
         4: .line 294
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.util.resources.LocaleData$LocaleDataStrategy.$assertionsDisabled:Z
            ifne 7
            getstatic sun.util.locale.provider.LocaleProviderAdapter$Type.JRE:Lsun/util/locale/provider/LocaleProviderAdapter$Type;
            invokevirtual sun.util.locale.provider.LocaleProviderAdapter$Type.getUtilResourcesPackage:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
         5: .line 295
            getstatic sun.util.locale.provider.LocaleProviderAdapter$Type.JRE:Lsun/util/locale/provider/LocaleProviderAdapter$Type;
            invokevirtual sun.util.locale.provider.LocaleProviderAdapter$Type.getTextResourcesPackage:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
         6: .line 294
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 296
      StackMap locals:
      StackMap stack:
            getstatic sun.util.locale.provider.LocaleProviderAdapter$Type.JRE:Lsun/util/locale/provider/LocaleProviderAdapter$Type;
            invokevirtual sun.util.locale.provider.LocaleProviderAdapter$Type.getUtilResourcesPackage:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 4 /* index */
        start local 4 // int index
         8: .line 297
            aload 1 /* baseName */
            ldc ".cldr"
            iload 4 /* index */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            ifle 10
         9: .line 298
            iload 4 /* index */
            ldc ".cldr"
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* index */
        10: .line 300
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* baseName */
            iconst_0
            iload 4 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "ext"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 301
            aload 1 /* baseName */
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 300
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* newBaseName */
        end local 4 // int index
        13: .line 304
      StackMap locals:
      StackMap stack:
            getstatic sun.util.resources.LocaleData.defaultControl:Ljava/util/ResourceBundle$Control;
            aload 3 /* newBaseName */
            aload 2 /* locale */
            invokevirtual java.util.ResourceBundle$Control.toBundleName:(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String newBaseName
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String baseName
        end local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lsun/util/resources/LocaleData$LocaleDataStrategy;
            0   14     1     baseName  Ljava/lang/String;
            0   14     2       locale  Ljava/util/Locale;
            1   14     3  newBaseName  Ljava/lang/String;
            8   13     4        index  I
    MethodParameters:
          Name  Flags
      baseName  
      locale    

  public java.lang.Class<? extends java.util.spi.ResourceBundleProvider> getResourceBundleProviderType(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
        start local 1 // java.lang.String baseName
        start local 2 // java.util.Locale locale
         0: .line 310
            aload 0 /* this */
            aload 1 /* baseName */
            aload 2 /* locale */
            invokevirtual sun.util.resources.LocaleData$LocaleDataStrategy.inJavaBaseModule:(Ljava/lang/String;Ljava/util/Locale;)Z
            ifeq 2
         1: .line 311
            aconst_null
            goto 3
      StackMap locals:
      StackMap stack:
         2: ldc Lsun/util/resources/LocaleData$CommonResourceBundleProvider;
         3: .line 310
      StackMap locals:
      StackMap stack: java.lang.Class
            areturn
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String baseName
        end local 0 // sun.util.resources.LocaleData$LocaleDataStrategy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/util/resources/LocaleData$LocaleDataStrategy;
            0    4     1  baseName  Ljava/lang/String;
            0    4     2    locale  Ljava/util/Locale;
    Signature: (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/Class<+Ljava/util/spi/ResourceBundleProvider;>;
    MethodParameters:
          Name  Flags
      baseName  
      locale    
}
SourceFile: "LocaleData.java"
NestHost: sun.util.resources.LocaleData
InnerClasses:
  public Control = java.util.ResourceBundle$Control of java.util.ResourceBundle
  public final Type = sun.util.locale.provider.LocaleProviderAdapter$Type of sun.util.locale.provider.LocaleProviderAdapter
  public abstract Strategy = sun.util.resources.Bundles$Strategy of sun.util.resources.Bundles
  public abstract CommonResourceBundleProvider = sun.util.resources.LocaleData$CommonResourceBundleProvider of sun.util.resources.LocaleData
  private LocaleDataStrategy = sun.util.resources.LocaleData$LocaleDataStrategy of sun.util.resources.LocaleData