public class android.media.ExifInterface
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.ExifInterface
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ExifInterface"

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final java.lang.String TAG_ARTIST;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Artist"

  public static final java.lang.String TAG_BITS_PER_SAMPLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "BitsPerSample"

  public static final java.lang.String TAG_COMPRESSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Compression"

  public static final java.lang.String TAG_COPYRIGHT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Copyright"

  public static final java.lang.String TAG_DATETIME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "DateTime"

  public static final java.lang.String TAG_IMAGE_DESCRIPTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ImageDescription"

  public static final java.lang.String TAG_IMAGE_LENGTH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ImageLength"

  public static final java.lang.String TAG_IMAGE_WIDTH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ImageWidth"

  public static final java.lang.String TAG_JPEG_INTERCHANGE_FORMAT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "JPEGInterchangeFormat"

  public static final java.lang.String TAG_JPEG_INTERCHANGE_FORMAT_LENGTH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "JPEGInterchangeFormatLength"

  public static final java.lang.String TAG_MAKE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Make"

  public static final java.lang.String TAG_MODEL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Model"

  public static final java.lang.String TAG_ORIENTATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Orientation"

  public static final java.lang.String TAG_PHOTOMETRIC_INTERPRETATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PhotometricInterpretation"

  public static final java.lang.String TAG_PLANAR_CONFIGURATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PlanarConfiguration"

  public static final java.lang.String TAG_PRIMARY_CHROMATICITIES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PrimaryChromaticities"

  public static final java.lang.String TAG_REFERENCE_BLACK_WHITE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ReferenceBlackWhite"

  public static final java.lang.String TAG_RESOLUTION_UNIT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ResolutionUnit"

  public static final java.lang.String TAG_ROWS_PER_STRIP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RowsPerStrip"

  public static final java.lang.String TAG_SAMPLES_PER_PIXEL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SamplesPerPixel"

  public static final java.lang.String TAG_SOFTWARE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Software"

  public static final java.lang.String TAG_STRIP_BYTE_COUNTS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "StripByteCounts"

  public static final java.lang.String TAG_STRIP_OFFSETS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "StripOffsets"

  public static final java.lang.String TAG_TRANSFER_FUNCTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "TransferFunction"

  public static final java.lang.String TAG_WHITE_POINT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "WhitePoint"

  public static final java.lang.String TAG_X_RESOLUTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "XResolution"

  public static final java.lang.String TAG_Y_CB_CR_COEFFICIENTS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "YCbCrCoefficients"

  public static final java.lang.String TAG_Y_CB_CR_POSITIONING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "YCbCrPositioning"

  public static final java.lang.String TAG_Y_CB_CR_SUB_SAMPLING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "YCbCrSubSampling"

  public static final java.lang.String TAG_Y_RESOLUTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "YResolution"

  public static final java.lang.String TAG_APERTURE_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ApertureValue"

  public static final java.lang.String TAG_BRIGHTNESS_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "BrightnessValue"

  public static final java.lang.String TAG_CFA_PATTERN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "CFAPattern"

  public static final java.lang.String TAG_COLOR_SPACE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ColorSpace"

  public static final java.lang.String TAG_COMPONENTS_CONFIGURATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ComponentsConfiguration"

  public static final java.lang.String TAG_COMPRESSED_BITS_PER_PIXEL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "CompressedBitsPerPixel"

  public static final java.lang.String TAG_CONTRAST;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Contrast"

  public static final java.lang.String TAG_CUSTOM_RENDERED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "CustomRendered"

  public static final java.lang.String TAG_DATETIME_DIGITIZED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "DateTimeDigitized"

  public static final java.lang.String TAG_DATETIME_ORIGINAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "DateTimeOriginal"

  public static final java.lang.String TAG_DEVICE_SETTING_DESCRIPTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "DeviceSettingDescription"

  public static final java.lang.String TAG_DIGITAL_ZOOM_RATIO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "DigitalZoomRatio"

  public static final java.lang.String TAG_EXIF_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ExifVersion"

  public static final java.lang.String TAG_EXPOSURE_BIAS_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ExposureBiasValue"

  public static final java.lang.String TAG_EXPOSURE_INDEX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ExposureIndex"

  public static final java.lang.String TAG_EXPOSURE_MODE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ExposureMode"

  public static final java.lang.String TAG_EXPOSURE_PROGRAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ExposureProgram"

  public static final java.lang.String TAG_EXPOSURE_TIME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ExposureTime"

  public static final java.lang.String TAG_F_NUMBER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FNumber"

  public static final java.lang.String TAG_APERTURE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FNumber"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final java.lang.String TAG_FILE_SOURCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FileSource"

  public static final java.lang.String TAG_FLASH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Flash"

  public static final java.lang.String TAG_FLASH_ENERGY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FlashEnergy"

  public static final java.lang.String TAG_FLASHPIX_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FlashpixVersion"

  public static final java.lang.String TAG_FOCAL_LENGTH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FocalLength"

  public static final java.lang.String TAG_FOCAL_LENGTH_IN_35MM_FILM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FocalLengthIn35mmFilm"

  public static final java.lang.String TAG_FOCAL_PLANE_RESOLUTION_UNIT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FocalPlaneResolutionUnit"

  public static final java.lang.String TAG_FOCAL_PLANE_X_RESOLUTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FocalPlaneXResolution"

  public static final java.lang.String TAG_FOCAL_PLANE_Y_RESOLUTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "FocalPlaneYResolution"

  public static final java.lang.String TAG_GAIN_CONTROL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GainControl"

  public static final java.lang.String TAG_ISO_SPEED_RATINGS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ISOSpeedRatings"

  public static final java.lang.String TAG_ISO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ISOSpeedRatings"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final java.lang.String TAG_IMAGE_UNIQUE_ID;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ImageUniqueID"

  public static final java.lang.String TAG_LIGHT_SOURCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "LightSource"

  public static final java.lang.String TAG_MAKER_NOTE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "MakerNote"

  public static final java.lang.String TAG_MAX_APERTURE_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "MaxApertureValue"

  public static final java.lang.String TAG_METERING_MODE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "MeteringMode"

  public static final java.lang.String TAG_NEW_SUBFILE_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "NewSubfileType"

  public static final java.lang.String TAG_OECF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "OECF"

  public static final java.lang.String TAG_PIXEL_X_DIMENSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PixelXDimension"

  public static final java.lang.String TAG_PIXEL_Y_DIMENSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PixelYDimension"

  public static final java.lang.String TAG_RELATED_SOUND_FILE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RelatedSoundFile"

  public static final java.lang.String TAG_SATURATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Saturation"

  public static final java.lang.String TAG_SCENE_CAPTURE_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SceneCaptureType"

  public static final java.lang.String TAG_SCENE_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SceneType"

  public static final java.lang.String TAG_SENSING_METHOD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SensingMethod"

  public static final java.lang.String TAG_SHARPNESS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Sharpness"

  public static final java.lang.String TAG_SHUTTER_SPEED_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ShutterSpeedValue"

  public static final java.lang.String TAG_SPATIAL_FREQUENCY_RESPONSE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SpatialFrequencyResponse"

  public static final java.lang.String TAG_SPECTRAL_SENSITIVITY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SpectralSensitivity"

  public static final java.lang.String TAG_SUBFILE_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubfileType"

  public static final java.lang.String TAG_SUBSEC_TIME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubSecTime"

  public static final java.lang.String TAG_SUBSEC_TIME_DIG;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubSecTimeDigitized"

  public static final java.lang.String TAG_SUBSEC_TIME_DIGITIZED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubSecTimeDigitized"

  public static final java.lang.String TAG_SUBSEC_TIME_ORIG;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubSecTimeOriginal"

  public static final java.lang.String TAG_SUBSEC_TIME_ORIGINAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubSecTimeOriginal"

  public static final java.lang.String TAG_SUBJECT_AREA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubjectArea"

  public static final java.lang.String TAG_SUBJECT_DISTANCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubjectDistance"

  public static final java.lang.String TAG_SUBJECT_DISTANCE_RANGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubjectDistanceRange"

  public static final java.lang.String TAG_SUBJECT_LOCATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubjectLocation"

  public static final java.lang.String TAG_USER_COMMENT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "UserComment"

  public static final java.lang.String TAG_WHITE_BALANCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "WhiteBalance"

  public static final java.lang.String TAG_GPS_ALTITUDE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSAltitude"

  public static final java.lang.String TAG_GPS_ALTITUDE_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSAltitudeRef"

  public static final java.lang.String TAG_GPS_AREA_INFORMATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSAreaInformation"

  public static final java.lang.String TAG_GPS_DOP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDOP"

  public static final java.lang.String TAG_GPS_DATESTAMP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDateStamp"

  public static final java.lang.String TAG_GPS_DEST_BEARING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDestBearing"

  public static final java.lang.String TAG_GPS_DEST_BEARING_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDestBearingRef"

  public static final java.lang.String TAG_GPS_DEST_DISTANCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDestDistance"

  public static final java.lang.String TAG_GPS_DEST_DISTANCE_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDestDistanceRef"

  public static final java.lang.String TAG_GPS_DEST_LATITUDE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDestLatitude"

  public static final java.lang.String TAG_GPS_DEST_LATITUDE_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDestLatitudeRef"

  public static final java.lang.String TAG_GPS_DEST_LONGITUDE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDestLongitude"

  public static final java.lang.String TAG_GPS_DEST_LONGITUDE_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDestLongitudeRef"

  public static final java.lang.String TAG_GPS_DIFFERENTIAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSDifferential"

  public static final java.lang.String TAG_GPS_IMG_DIRECTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSImgDirection"

  public static final java.lang.String TAG_GPS_IMG_DIRECTION_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSImgDirectionRef"

  public static final java.lang.String TAG_GPS_LATITUDE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSLatitude"

  public static final java.lang.String TAG_GPS_LATITUDE_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSLatitudeRef"

  public static final java.lang.String TAG_GPS_LONGITUDE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSLongitude"

  public static final java.lang.String TAG_GPS_LONGITUDE_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSLongitudeRef"

  public static final java.lang.String TAG_GPS_MAP_DATUM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSMapDatum"

  public static final java.lang.String TAG_GPS_MEASURE_MODE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSMeasureMode"

  public static final java.lang.String TAG_GPS_PROCESSING_METHOD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSProcessingMethod"

  public static final java.lang.String TAG_GPS_SATELLITES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSSatellites"

  public static final java.lang.String TAG_GPS_SPEED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSSpeed"

  public static final java.lang.String TAG_GPS_SPEED_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSSpeedRef"

  public static final java.lang.String TAG_GPS_STATUS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSStatus"

  public static final java.lang.String TAG_GPS_TIMESTAMP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSTimeStamp"

  public static final java.lang.String TAG_GPS_TRACK;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSTrack"

  public static final java.lang.String TAG_GPS_TRACK_REF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSTrackRef"

  public static final java.lang.String TAG_GPS_VERSION_ID;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSVersionID"

  public static final java.lang.String TAG_INTEROPERABILITY_INDEX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "InteroperabilityIndex"

  public static final java.lang.String TAG_THUMBNAIL_IMAGE_LENGTH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ThumbnailImageLength"

  public static final java.lang.String TAG_THUMBNAIL_IMAGE_WIDTH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ThumbnailImageWidth"

  public static final java.lang.String TAG_DNG_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "DNGVersion"

  public static final java.lang.String TAG_DEFAULT_CROP_SIZE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "DefaultCropSize"

  public static final java.lang.String TAG_ORF_THUMBNAIL_IMAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ThumbnailImage"

  public static final java.lang.String TAG_ORF_PREVIEW_IMAGE_START;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PreviewImageStart"

  public static final java.lang.String TAG_ORF_PREVIEW_IMAGE_LENGTH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PreviewImageLength"

  public static final java.lang.String TAG_ORF_ASPECT_FRAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "AspectFrame"

  public static final java.lang.String TAG_RW2_SENSOR_BOTTOM_BORDER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SensorBottomBorder"

  public static final java.lang.String TAG_RW2_SENSOR_LEFT_BORDER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SensorLeftBorder"

  public static final java.lang.String TAG_RW2_SENSOR_RIGHT_BORDER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SensorRightBorder"

  public static final java.lang.String TAG_RW2_SENSOR_TOP_BORDER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SensorTopBorder"

  public static final java.lang.String TAG_RW2_ISO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ISO"

  public static final java.lang.String TAG_RW2_JPG_FROM_RAW;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "JpgFromRaw"

  private static final java.lang.String TAG_EXIF_IFD_POINTER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ExifIFDPointer"

  private static final java.lang.String TAG_GPS_INFO_IFD_POINTER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "GPSInfoIFDPointer"

  private static final java.lang.String TAG_INTEROPERABILITY_IFD_POINTER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "InteroperabilityIFDPointer"

  private static final java.lang.String TAG_SUB_IFD_POINTER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SubIFDPointer"

  private static final java.lang.String TAG_ORF_CAMERA_SETTINGS_IFD_POINTER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "CameraSettingsIFDPointer"

  private static final java.lang.String TAG_ORF_IMAGE_PROCESSING_IFD_POINTER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ImageProcessingIFDPointer"

  private static final java.lang.String TAG_HAS_THUMBNAIL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "HasThumbnail"

  private static final java.lang.String TAG_THUMBNAIL_OFFSET;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ThumbnailOffset"

  private static final java.lang.String TAG_THUMBNAIL_LENGTH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ThumbnailLength"

  private static final java.lang.String TAG_THUMBNAIL_DATA;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ThumbnailData"

  private static final int MAX_THUMBNAIL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  public static final int ORIENTATION_UNDEFINED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int ORIENTATION_NORMAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int ORIENTATION_FLIP_HORIZONTAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int ORIENTATION_ROTATE_180;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int ORIENTATION_FLIP_VERTICAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int ORIENTATION_TRANSPOSE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int ORIENTATION_ROTATE_90;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int ORIENTATION_TRANSVERSE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int ORIENTATION_ROTATE_270;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int WHITEBALANCE_AUTO;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int WHITEBALANCE_MANUAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int SIGNATURE_CHECK_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

  private static final byte[] JPEG_SIGNATURE;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String RAF_SIGNATURE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "FUJIFILMCCD-RAW"

  private static final int RAF_OFFSET_TO_JPEG_IMAGE_OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 84

  private static final int RAF_INFO_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 160

  private static final int RAF_JPEG_LENGTH_VALUE_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final byte[] HEIF_TYPE_FTYP;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] HEIF_BRAND_MIF1;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] HEIF_BRAND_HEIC;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final short ORF_SIGNATURE_1;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 20306

  private static final short ORF_SIGNATURE_2;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 21330

  private static final byte[] ORF_MAKER_NOTE_HEADER_1;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] ORF_MAKER_NOTE_HEADER_2;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int ORF_MAKER_NOTE_HEADER_1_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int ORF_MAKER_NOTE_HEADER_2_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final short RW2_SIGNATURE;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 85

  private static final java.lang.String PEF_SIGNATURE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "PENTAX"

  private static final int PEF_MAKER_NOTE_SKIP_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static java.text.SimpleDateFormat sFormatter;
    descriptor: Ljava/text/SimpleDateFormat;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final short BYTE_ALIGN_II;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 18761

  private static final short BYTE_ALIGN_MM;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 19789

  private static final byte START_CODE;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 42

  private static final int IFD_OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int IFD_FORMAT_BYTE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int IFD_FORMAT_STRING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int IFD_FORMAT_USHORT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int IFD_FORMAT_ULONG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int IFD_FORMAT_URATIONAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int IFD_FORMAT_SBYTE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final int IFD_FORMAT_UNDEFINED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  private static final int IFD_FORMAT_SSHORT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int IFD_FORMAT_SLONG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final int IFD_FORMAT_SRATIONAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int IFD_FORMAT_SINGLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  private static final int IFD_FORMAT_DOUBLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final int IFD_FORMAT_IFD;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  private static final java.lang.String[] IFD_FORMAT_NAMES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] IFD_FORMAT_BYTES_PER_FORMAT;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] EXIF_ASCII_PREFIX;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int DATA_UNCOMPRESSED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int DATA_HUFFMAN_COMPRESSED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int DATA_JPEG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final int DATA_JPEG_COMPRESSED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  private static final int DATA_DEFLATE_ZIP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int DATA_PACK_BITS_COMPRESSED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32773

  private static final int DATA_LOSSY_JPEG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 34892

  private static final int[] BITS_PER_SAMPLE_RGB;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] BITS_PER_SAMPLE_GREYSCALE_1;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] BITS_PER_SAMPLE_GREYSCALE_2;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int PHOTOMETRIC_INTERPRETATION_RGB;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int PHOTOMETRIC_INTERPRETATION_YCBCR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final int ORIGINAL_RESOLUTION_IMAGE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int REDUCED_RESOLUTION_IMAGE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final android.media.ExifInterface$ExifTag[] IFD_TIFF_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] IFD_EXIF_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] IFD_GPS_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] IFD_INTEROPERABILITY_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] IFD_THUMBNAIL_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag TAG_RAF_IMAGE_SIZE;
    descriptor: Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] ORF_MAKER_NOTE_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] ORF_CAMERA_SETTINGS_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] ORF_IMAGE_PROCESSING_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] PEF_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int IFD_TYPE_PRIMARY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int IFD_TYPE_EXIF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int IFD_TYPE_GPS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int IFD_TYPE_INTEROPERABILITY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int IFD_TYPE_THUMBNAIL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int IFD_TYPE_PREVIEW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int IFD_TYPE_ORF_MAKER_NOTE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final int IFD_TYPE_ORF_CAMERA_SETTINGS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  private static final int IFD_TYPE_ORF_IMAGE_PROCESSING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int IFD_TYPE_PEF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final android.media.ExifInterface$ExifTag[][] EXIF_TAGS;
    descriptor: [[Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag[] EXIF_POINTER_TAGS;
    descriptor: [Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag JPEG_INTERCHANGE_FORMAT_TAG;
    descriptor: Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.media.ExifInterface$ExifTag JPEG_INTERCHANGE_FORMAT_LENGTH_TAG;
    descriptor: Landroid/media/ExifInterface$ExifTag;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.HashMap[] sExifTagMapsForReading;
    descriptor: [Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.HashMap[] sExifTagMapsForWriting;
    descriptor: [Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.HashSet<java.lang.String> sTagSetForCompatibility;
    descriptor: Ljava/util/HashSet;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashSet<Ljava/lang/String;>;

  private static final java.util.HashMap<java.lang.Integer, java.lang.Integer> sExifPointerTagMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Ljava/lang/Integer;>;

  private static final java.nio.charset.Charset ASCII;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] IDENTIFIER_EXIF_APP1;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte MARKER;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final byte MARKER_SOI;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -40

  private static final byte MARKER_SOF0;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -64

  private static final byte MARKER_SOF1;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -63

  private static final byte MARKER_SOF2;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -62

  private static final byte MARKER_SOF3;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -61

  private static final byte MARKER_SOF5;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -59

  private static final byte MARKER_SOF6;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -58

  private static final byte MARKER_SOF7;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -57

  private static final byte MARKER_SOF9;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -55

  private static final byte MARKER_SOF10;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -54

  private static final byte MARKER_SOF11;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -53

  private static final byte MARKER_SOF13;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -51

  private static final byte MARKER_SOF14;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -50

  private static final byte MARKER_SOF15;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -49

  private static final byte MARKER_SOS;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -38

  private static final byte MARKER_APP1;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -31

  private static final byte MARKER_COM;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

  private static final byte MARKER_EOI;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -39

  private static final int IMAGE_TYPE_UNKNOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int IMAGE_TYPE_ARW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int IMAGE_TYPE_CR2;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int IMAGE_TYPE_DNG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int IMAGE_TYPE_JPEG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int IMAGE_TYPE_NEF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int IMAGE_TYPE_NRW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final int IMAGE_TYPE_ORF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  private static final int IMAGE_TYPE_PEF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int IMAGE_TYPE_RAF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final int IMAGE_TYPE_RW2;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int IMAGE_TYPE_SRW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  private static final int IMAGE_TYPE_HEIF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private final java.lang.String mFilename;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.FileDescriptor mSeekableFileDescriptor;
    descriptor: Ljava/io/FileDescriptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.content.res.AssetManager$AssetInputStream mAssetInputStream;
    descriptor: Landroid/content/res/AssetManager$AssetInputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean mIsInputStream;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int mMimeType;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final java.util.HashMap[] mAttributes;
    descriptor: [Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Set<java.lang.Integer> mAttributesOffsets;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/Integer;>;

  private java.nio.ByteOrder mExifByteOrder;
    descriptor: Ljava/nio/ByteOrder;
    flags: (0x0002) ACC_PRIVATE

  private boolean mHasThumbnail;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int mThumbnailOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mThumbnailLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private byte[] mThumbnailBytes;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int mThumbnailCompression;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mExifOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mOrfMakerNoteOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mOrfThumbnailOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mOrfThumbnailLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mRw2JpgFromRawOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean mIsSupportedFile;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.regex.Pattern sNonZeroTimePattern;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern sGpsTimestampPattern;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=5, args_size=0
         0: .line 439
            iconst_3
            newarray 8
            dup
            iconst_0
            iconst_m1
            bastore
            dup
            iconst_1
            bipush -40
            bastore
            dup
            iconst_2
            iconst_m1
            bastore
            putstatic android.media.ExifInterface.JPEG_SIGNATURE:[B
         1: .line 445
            iconst_4
            newarray 8
            dup
            iconst_0
            bipush 102
            bastore
            dup
            iconst_1
            bipush 116
            bastore
            dup
            iconst_2
            bipush 121
            bastore
            dup
            iconst_3
            bipush 112
            bastore
            putstatic android.media.ExifInterface.HEIF_TYPE_FTYP:[B
         2: .line 446
            iconst_4
            newarray 8
            dup
            iconst_0
            bipush 109
            bastore
            dup
            iconst_1
            bipush 105
            bastore
            dup
            iconst_2
            bipush 102
            bastore
            dup
            iconst_3
            bipush 49
            bastore
            putstatic android.media.ExifInterface.HEIF_BRAND_MIF1:[B
         3: .line 447
            iconst_4
            newarray 8
            dup
            iconst_0
            bipush 104
            bastore
            dup
            iconst_1
            bipush 101
            bastore
            dup
            iconst_2
            bipush 105
            bastore
            dup
            iconst_3
            bipush 99
            bastore
            putstatic android.media.ExifInterface.HEIF_BRAND_HEIC:[B
         4: .line 455
            bipush 6
            newarray 8
            dup
            iconst_0
            bipush 79
            bastore
            dup
            iconst_1
            bipush 76
            bastore
            dup
            iconst_2
         5: .line 456
            bipush 89
            bastore
            dup
            iconst_3
            bipush 77
            bastore
            dup
            iconst_4
            bipush 80
            bastore
         6: .line 455
            putstatic android.media.ExifInterface.ORF_MAKER_NOTE_HEADER_1:[B
         7: .line 457
            bipush 10
            newarray 8
            dup
            iconst_0
            bipush 79
            bastore
            dup
            iconst_1
            bipush 76
            bastore
            dup
            iconst_2
         8: .line 458
            bipush 89
            bastore
            dup
            iconst_3
            bipush 77
            bastore
            dup
            iconst_4
            bipush 80
            bastore
            dup
            iconst_5
            bipush 85
            bastore
            dup
            bipush 6
            bipush 83
            bastore
            dup
            bipush 8
         9: .line 459
            bipush 73
            bastore
            dup
            bipush 9
            bipush 73
            bastore
        10: .line 457
            putstatic android.media.ExifInterface.ORF_MAKER_NOTE_HEADER_2:[B
        11: .line 502
            bipush 13
            anewarray java.lang.String
            dup
            iconst_0
        12: .line 503
            ldc ""
            aastore
            dup
            iconst_1
            ldc "BYTE"
            aastore
            dup
            iconst_2
            ldc "STRING"
            aastore
            dup
            iconst_3
            ldc "USHORT"
            aastore
            dup
            iconst_4
            ldc "ULONG"
            aastore
            dup
            iconst_5
            ldc "URATIONAL"
            aastore
            dup
            bipush 6
            ldc "SBYTE"
            aastore
            dup
            bipush 7
            ldc "UNDEFINED"
            aastore
            dup
            bipush 8
            ldc "SSHORT"
            aastore
            dup
            bipush 9
        13: .line 504
            ldc "SLONG"
            aastore
            dup
            bipush 10
            ldc "SRATIONAL"
            aastore
            dup
            bipush 11
            ldc "SINGLE"
            aastore
            dup
            bipush 12
            ldc "DOUBLE"
            aastore
        14: .line 502
            putstatic android.media.ExifInterface.IFD_FORMAT_NAMES:[Ljava/lang/String;
        15: .line 507
            bipush 14
            newarray 10
            dup
            iconst_1
        16: .line 508
            iconst_1
            iastore
            dup
            iconst_2
            iconst_1
            iastore
            dup
            iconst_3
            iconst_2
            iastore
            dup
            iconst_4
            iconst_4
            iastore
            dup
            iconst_5
            bipush 8
            iastore
            dup
            bipush 6
            iconst_1
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            dup
            bipush 8
            iconst_2
            iastore
            dup
            bipush 9
            iconst_4
            iastore
            dup
            bipush 10
            bipush 8
            iastore
            dup
            bipush 11
            iconst_4
            iastore
            dup
            bipush 12
            bipush 8
            iastore
            dup
            bipush 13
            iconst_1
            iastore
        17: .line 507
            putstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
        18: .line 510
            bipush 8
            newarray 8
            dup
            iconst_0
        19: .line 511
            bipush 65
            bastore
            dup
            iconst_1
            bipush 83
            bastore
            dup
            iconst_2
            bipush 67
            bastore
            dup
            iconst_3
            bipush 73
            bastore
            dup
            iconst_4
            bipush 73
            bastore
        20: .line 510
            putstatic android.media.ExifInterface.EXIF_ASCII_PREFIX:[B
        21: .line 533
            iconst_3
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            dup
            iconst_1
            bipush 8
            iastore
            dup
            iconst_2
            bipush 8
            iastore
            putstatic android.media.ExifInterface.BITS_PER_SAMPLE_RGB:[I
        22: .line 534
            iconst_1
            newarray 10
            dup
            iconst_0
            iconst_4
            iastore
            putstatic android.media.ExifInterface.BITS_PER_SAMPLE_GREYSCALE_1:[I
        23: .line 535
            iconst_1
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            putstatic android.media.ExifInterface.BITS_PER_SAMPLE_GREYSCALE_2:[I
        24: .line 959
            bipush 41
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
        25: .line 961
            new android.media.ExifInterface$ExifTag
            dup
            ldc "NewSubfileType"
            sipush 254
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_1
        26: .line 962
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubfileType"
            sipush 255
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_2
        27: .line 963
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ImageWidth"
            sipush 256
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            iconst_3
        28: .line 964
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ImageLength"
            sipush 257
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            iconst_4
        29: .line 965
            new android.media.ExifInterface$ExifTag
            dup
            ldc "BitsPerSample"
            sipush 258
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_5
        30: .line 966
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Compression"
            sipush 259
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 6
        31: .line 967
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PhotometricInterpretation"
            sipush 262
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 7
        32: .line 968
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ImageDescription"
            sipush 270
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 8
        33: .line 969
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Make"
            sipush 271
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 9
        34: .line 970
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Model"
            sipush 272
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 10
        35: .line 971
            new android.media.ExifInterface$ExifTag
            dup
            ldc "StripOffsets"
            sipush 273
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            bipush 11
        36: .line 972
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Orientation"
            sipush 274
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 12
        37: .line 973
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SamplesPerPixel"
            sipush 277
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 13
        38: .line 974
            new android.media.ExifInterface$ExifTag
            dup
            ldc "RowsPerStrip"
            sipush 278
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            bipush 14
        39: .line 975
            new android.media.ExifInterface$ExifTag
            dup
            ldc "StripByteCounts"
            sipush 279
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            bipush 15
        40: .line 976
            new android.media.ExifInterface$ExifTag
            dup
            ldc "XResolution"
            sipush 282
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 16
        41: .line 977
            new android.media.ExifInterface$ExifTag
            dup
            ldc "YResolution"
            sipush 283
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 17
        42: .line 978
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PlanarConfiguration"
            sipush 284
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 18
        43: .line 979
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ResolutionUnit"
            sipush 296
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 19
        44: .line 980
            new android.media.ExifInterface$ExifTag
            dup
            ldc "TransferFunction"
            sipush 301
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 20
        45: .line 981
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Software"
            sipush 305
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 21
        46: .line 982
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DateTime"
            sipush 306
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 22
        47: .line 983
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Artist"
            sipush 315
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 23
        48: .line 984
            new android.media.ExifInterface$ExifTag
            dup
            ldc "WhitePoint"
            sipush 318
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 24
        49: .line 985
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PrimaryChromaticities"
            sipush 319
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 25
        50: .line 987
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubIFDPointer"
            sipush 330
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 26
        51: .line 988
            new android.media.ExifInterface$ExifTag
            dup
            ldc "JPEGInterchangeFormat"
            sipush 513
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 27
        52: .line 989
            new android.media.ExifInterface$ExifTag
            dup
            ldc "JPEGInterchangeFormatLength"
            sipush 514
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 28
        53: .line 990
            new android.media.ExifInterface$ExifTag
            dup
            ldc "YCbCrCoefficients"
            sipush 529
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 29
        54: .line 991
            new android.media.ExifInterface$ExifTag
            dup
            ldc "YCbCrSubSampling"
            sipush 530
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 30
        55: .line 992
            new android.media.ExifInterface$ExifTag
            dup
            ldc "YCbCrPositioning"
            sipush 531
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 31
        56: .line 993
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ReferenceBlackWhite"
            sipush 532
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 32
        57: .line 994
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Copyright"
            ldc 33432
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 33
        58: .line 995
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExifIFDPointer"
            ldc 34665
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 34
        59: .line 996
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSInfoIFDPointer"
            ldc 34853
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 35
        60: .line 999
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SensorTopBorder"
            iconst_4
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 36
        61: .line 1000
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SensorLeftBorder"
            iconst_5
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 37
        62: .line 1001
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SensorBottomBorder"
            bipush 6
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 38
        63: .line 1002
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SensorRightBorder"
            bipush 7
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 39
        64: .line 1003
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ISO"
            bipush 23
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 40
        65: .line 1004
            new android.media.ExifInterface$ExifTag
            dup
            ldc "JpgFromRaw"
            bipush 46
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
        66: .line 959
            putstatic android.media.ExifInterface.IFD_TIFF_TAGS:[Landroid/media/ExifInterface$ExifTag;
        67: .line 1008
            bipush 59
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
        68: .line 1009
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExposureTime"
            ldc 33434
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_1
        69: .line 1010
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FNumber"
            ldc 33437
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_2
        70: .line 1011
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExposureProgram"
            ldc 34850
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_3
        71: .line 1012
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SpectralSensitivity"
            ldc 34852
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_4
        72: .line 1013
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ISOSpeedRatings"
            ldc 34855
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_5
        73: .line 1014
            new android.media.ExifInterface$ExifTag
            dup
            ldc "OECF"
            ldc 34856
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 6
        74: .line 1015
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExifVersion"
            ldc 36864
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 7
        75: .line 1016
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DateTimeOriginal"
            ldc 36867
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 8
        76: .line 1017
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DateTimeDigitized"
            ldc 36868
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 9
        77: .line 1018
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ComponentsConfiguration"
            ldc 37121
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 10
        78: .line 1019
            new android.media.ExifInterface$ExifTag
            dup
            ldc "CompressedBitsPerPixel"
            ldc 37122
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 11
        79: .line 1020
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ShutterSpeedValue"
            ldc 37377
            bipush 10
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 12
        80: .line 1021
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ApertureValue"
            ldc 37378
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 13
        81: .line 1022
            new android.media.ExifInterface$ExifTag
            dup
            ldc "BrightnessValue"
            ldc 37379
            bipush 10
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 14
        82: .line 1023
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExposureBiasValue"
            ldc 37380
            bipush 10
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 15
        83: .line 1024
            new android.media.ExifInterface$ExifTag
            dup
            ldc "MaxApertureValue"
            ldc 37381
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 16
        84: .line 1025
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubjectDistance"
            ldc 37382
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 17
        85: .line 1026
            new android.media.ExifInterface$ExifTag
            dup
            ldc "MeteringMode"
            ldc 37383
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 18
        86: .line 1027
            new android.media.ExifInterface$ExifTag
            dup
            ldc "LightSource"
            ldc 37384
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 19
        87: .line 1028
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Flash"
            ldc 37385
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 20
        88: .line 1029
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FocalLength"
            ldc 37386
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 21
        89: .line 1030
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubjectArea"
            ldc 37396
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 22
        90: .line 1031
            new android.media.ExifInterface$ExifTag
            dup
            ldc "MakerNote"
            ldc 37500
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 23
        91: .line 1032
            new android.media.ExifInterface$ExifTag
            dup
            ldc "UserComment"
            ldc 37510
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 24
        92: .line 1033
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubSecTime"
            ldc 37520
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 25
        93: .line 1034
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubSecTimeOriginal"
            ldc 37521
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 26
        94: .line 1035
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubSecTimeDigitized"
            ldc 37522
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 27
        95: .line 1036
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FlashpixVersion"
            ldc 40960
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 28
        96: .line 1037
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ColorSpace"
            ldc 40961
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 29
        97: .line 1038
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PixelXDimension"
            ldc 40962
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            bipush 30
        98: .line 1039
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PixelYDimension"
            ldc 40963
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            bipush 31
        99: .line 1040
            new android.media.ExifInterface$ExifTag
            dup
            ldc "RelatedSoundFile"
            ldc 40964
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 32
       100: .line 1041
            new android.media.ExifInterface$ExifTag
            dup
            ldc "InteroperabilityIFDPointer"
            ldc 40965
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 33
       101: .line 1042
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FlashEnergy"
            ldc 41483
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 34
       102: .line 1043
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SpatialFrequencyResponse"
            ldc 41484
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 35
       103: .line 1044
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FocalPlaneXResolution"
            ldc 41486
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 36
       104: .line 1045
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FocalPlaneYResolution"
            ldc 41487
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 37
       105: .line 1046
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FocalPlaneResolutionUnit"
            ldc 41488
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 38
       106: .line 1047
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubjectLocation"
            ldc 41492
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 39
       107: .line 1048
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExposureIndex"
            ldc 41493
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 40
       108: .line 1049
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SensingMethod"
            ldc 41495
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 41
       109: .line 1050
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FileSource"
            ldc 41728
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 42
       110: .line 1051
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SceneType"
            ldc 41729
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 43
       111: .line 1052
            new android.media.ExifInterface$ExifTag
            dup
            ldc "CFAPattern"
            ldc 41730
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 44
       112: .line 1053
            new android.media.ExifInterface$ExifTag
            dup
            ldc "CustomRendered"
            ldc 41985
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 45
       113: .line 1054
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExposureMode"
            ldc 41986
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 46
       114: .line 1055
            new android.media.ExifInterface$ExifTag
            dup
            ldc "WhiteBalance"
            ldc 41987
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 47
       115: .line 1056
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DigitalZoomRatio"
            ldc 41988
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 48
       116: .line 1057
            new android.media.ExifInterface$ExifTag
            dup
            ldc "FocalLengthIn35mmFilm"
            ldc 41989
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 49
       117: .line 1058
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SceneCaptureType"
            ldc 41990
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 50
       118: .line 1059
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GainControl"
            ldc 41991
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 51
       119: .line 1060
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Contrast"
            ldc 41992
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 52
       120: .line 1061
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Saturation"
            ldc 41993
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 53
       121: .line 1062
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Sharpness"
            ldc 41994
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 54
       122: .line 1063
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DeviceSettingDescription"
            ldc 41995
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 55
       123: .line 1064
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubjectDistanceRange"
            ldc 41996
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 56
       124: .line 1065
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ImageUniqueID"
            ldc 42016
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 57
       125: .line 1066
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DNGVersion"
            ldc 50706
            iconst_1
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 58
       126: .line 1067
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DefaultCropSize"
            ldc 50720
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
       127: .line 1008
            putstatic android.media.ExifInterface.IFD_EXIF_TAGS:[Landroid/media/ExifInterface$ExifTag;
       128: .line 1071
            bipush 31
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
       129: .line 1072
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSVersionID"
            iconst_0
            iconst_1
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_1
       130: .line 1073
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSLatitudeRef"
            iconst_1
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_2
       131: .line 1074
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSLatitude"
            iconst_2
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_3
       132: .line 1075
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSLongitudeRef"
            iconst_3
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_4
       133: .line 1076
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSLongitude"
            iconst_4
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_5
       134: .line 1077
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSAltitudeRef"
            iconst_5
            iconst_1
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 6
       135: .line 1078
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSAltitude"
            bipush 6
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 7
       136: .line 1079
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSTimeStamp"
            bipush 7
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 8
       137: .line 1080
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSSatellites"
            bipush 8
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 9
       138: .line 1081
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSStatus"
            bipush 9
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 10
       139: .line 1082
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSMeasureMode"
            bipush 10
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 11
       140: .line 1083
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDOP"
            bipush 11
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 12
       141: .line 1084
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSSpeedRef"
            bipush 12
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 13
       142: .line 1085
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSSpeed"
            bipush 13
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 14
       143: .line 1086
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSTrackRef"
            bipush 14
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 15
       144: .line 1087
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSTrack"
            bipush 15
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 16
       145: .line 1088
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSImgDirectionRef"
            bipush 16
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 17
       146: .line 1089
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSImgDirection"
            bipush 17
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 18
       147: .line 1090
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSMapDatum"
            bipush 18
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 19
       148: .line 1091
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDestLatitudeRef"
            bipush 19
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 20
       149: .line 1092
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDestLatitude"
            bipush 20
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 21
       150: .line 1093
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDestLongitudeRef"
            bipush 21
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 22
       151: .line 1094
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDestLongitude"
            bipush 22
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 23
       152: .line 1095
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDestBearingRef"
            bipush 23
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 24
       153: .line 1096
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDestBearing"
            bipush 24
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 25
       154: .line 1097
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDestDistanceRef"
            bipush 25
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 26
       155: .line 1098
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDestDistance"
            bipush 26
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 27
       156: .line 1099
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSProcessingMethod"
            bipush 27
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 28
       157: .line 1100
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSAreaInformation"
            bipush 28
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 29
       158: .line 1101
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDateStamp"
            bipush 29
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 30
       159: .line 1102
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSDifferential"
            bipush 30
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
       160: .line 1071
            putstatic android.media.ExifInterface.IFD_GPS_TAGS:[Landroid/media/ExifInterface$ExifTag;
       161: .line 1105
            iconst_1
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
       162: .line 1106
            new android.media.ExifInterface$ExifTag
            dup
            ldc "InteroperabilityIndex"
            iconst_1
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
       163: .line 1105
            putstatic android.media.ExifInterface.IFD_INTEROPERABILITY_TAGS:[Landroid/media/ExifInterface$ExifTag;
       164: .line 1109
            bipush 37
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
       165: .line 1111
            new android.media.ExifInterface$ExifTag
            dup
            ldc "NewSubfileType"
            sipush 254
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_1
       166: .line 1112
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubfileType"
            sipush 255
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_2
       167: .line 1113
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ThumbnailImageWidth"
            sipush 256
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            iconst_3
       168: .line 1114
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ThumbnailImageLength"
            sipush 257
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            iconst_4
       169: .line 1115
            new android.media.ExifInterface$ExifTag
            dup
            ldc "BitsPerSample"
            sipush 258
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_5
       170: .line 1116
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Compression"
            sipush 259
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 6
       171: .line 1117
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PhotometricInterpretation"
            sipush 262
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 7
       172: .line 1118
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ImageDescription"
            sipush 270
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 8
       173: .line 1119
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Make"
            sipush 271
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 9
       174: .line 1120
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Model"
            sipush 272
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 10
       175: .line 1121
            new android.media.ExifInterface$ExifTag
            dup
            ldc "StripOffsets"
            sipush 273
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            bipush 11
       176: .line 1122
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Orientation"
            sipush 274
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 12
       177: .line 1123
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SamplesPerPixel"
            sipush 277
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 13
       178: .line 1124
            new android.media.ExifInterface$ExifTag
            dup
            ldc "RowsPerStrip"
            sipush 278
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            bipush 14
       179: .line 1125
            new android.media.ExifInterface$ExifTag
            dup
            ldc "StripByteCounts"
            sipush 279
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
            dup
            bipush 15
       180: .line 1126
            new android.media.ExifInterface$ExifTag
            dup
            ldc "XResolution"
            sipush 282
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 16
       181: .line 1127
            new android.media.ExifInterface$ExifTag
            dup
            ldc "YResolution"
            sipush 283
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 17
       182: .line 1128
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PlanarConfiguration"
            sipush 284
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 18
       183: .line 1129
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ResolutionUnit"
            sipush 296
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 19
       184: .line 1130
            new android.media.ExifInterface$ExifTag
            dup
            ldc "TransferFunction"
            sipush 301
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 20
       185: .line 1131
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Software"
            sipush 305
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 21
       186: .line 1132
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DateTime"
            sipush 306
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 22
       187: .line 1133
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Artist"
            sipush 315
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 23
       188: .line 1134
            new android.media.ExifInterface$ExifTag
            dup
            ldc "WhitePoint"
            sipush 318
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 24
       189: .line 1135
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PrimaryChromaticities"
            sipush 319
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 25
       190: .line 1137
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubIFDPointer"
            sipush 330
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 26
       191: .line 1138
            new android.media.ExifInterface$ExifTag
            dup
            ldc "JPEGInterchangeFormat"
            sipush 513
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 27
       192: .line 1139
            new android.media.ExifInterface$ExifTag
            dup
            ldc "JPEGInterchangeFormatLength"
            sipush 514
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 28
       193: .line 1140
            new android.media.ExifInterface$ExifTag
            dup
            ldc "YCbCrCoefficients"
            sipush 529
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 29
       194: .line 1141
            new android.media.ExifInterface$ExifTag
            dup
            ldc "YCbCrSubSampling"
            sipush 530
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 30
       195: .line 1142
            new android.media.ExifInterface$ExifTag
            dup
            ldc "YCbCrPositioning"
            sipush 531
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 31
       196: .line 1143
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ReferenceBlackWhite"
            sipush 532
            iconst_5
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 32
       197: .line 1144
            new android.media.ExifInterface$ExifTag
            dup
            ldc "Copyright"
            ldc 33432
            iconst_2
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 33
       198: .line 1145
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExifIFDPointer"
            ldc 34665
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 34
       199: .line 1146
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSInfoIFDPointer"
            ldc 34853
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 35
       200: .line 1147
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DNGVersion"
            ldc 50706
            iconst_1
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            bipush 36
       201: .line 1148
            new android.media.ExifInterface$ExifTag
            dup
            ldc "DefaultCropSize"
            ldc 50720
            iconst_3
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;III)V
            aastore
       202: .line 1109
            putstatic android.media.ExifInterface.IFD_THUMBNAIL_TAGS:[Landroid/media/ExifInterface$ExifTag;
       203: .line 1153
            new android.media.ExifInterface$ExifTag
            dup
            ldc "StripOffsets"
            sipush 273
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
       204: .line 1152
            putstatic android.media.ExifInterface.TAG_RAF_IMAGE_SIZE:Landroid/media/ExifInterface$ExifTag;
       205: .line 1156
            iconst_3
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
       206: .line 1157
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ThumbnailImage"
            sipush 256
            bipush 7
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_1
       207: .line 1158
            new android.media.ExifInterface$ExifTag
            dup
            ldc "CameraSettingsIFDPointer"
            sipush 8224
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_2
       208: .line 1159
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ImageProcessingIFDPointer"
            sipush 8256
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
       209: .line 1156
            putstatic android.media.ExifInterface.ORF_MAKER_NOTE_TAGS:[Landroid/media/ExifInterface$ExifTag;
       210: .line 1161
            iconst_2
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
       211: .line 1162
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PreviewImageStart"
            sipush 257
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_1
       212: .line 1163
            new android.media.ExifInterface$ExifTag
            dup
            ldc "PreviewImageLength"
            sipush 258
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
       213: .line 1161
            putstatic android.media.ExifInterface.ORF_CAMERA_SETTINGS_TAGS:[Landroid/media/ExifInterface$ExifTag;
       214: .line 1165
            iconst_1
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
       215: .line 1166
            new android.media.ExifInterface$ExifTag
            dup
            ldc "AspectFrame"
            sipush 4371
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
       216: .line 1165
            putstatic android.media.ExifInterface.ORF_IMAGE_PROCESSING_TAGS:[Landroid/media/ExifInterface$ExifTag;
       217: .line 1169
            iconst_1
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
       218: .line 1170
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ColorSpace"
            bipush 55
            iconst_3
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
       219: .line 1169
            putstatic android.media.ExifInterface.PEF_TAGS:[Landroid/media/ExifInterface$ExifTag;
       220: .line 1196
            bipush 10
            anewarray android.media.ExifInterface$ExifTag[]
            dup
            iconst_0
       221: .line 1197
            getstatic android.media.ExifInterface.IFD_TIFF_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            iconst_1
            getstatic android.media.ExifInterface.IFD_EXIF_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            iconst_2
            getstatic android.media.ExifInterface.IFD_GPS_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            iconst_3
            getstatic android.media.ExifInterface.IFD_INTEROPERABILITY_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            iconst_4
       222: .line 1198
            getstatic android.media.ExifInterface.IFD_THUMBNAIL_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            iconst_5
            getstatic android.media.ExifInterface.IFD_TIFF_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            bipush 6
            getstatic android.media.ExifInterface.ORF_MAKER_NOTE_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            bipush 7
            getstatic android.media.ExifInterface.ORF_CAMERA_SETTINGS_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            bipush 8
       223: .line 1199
            getstatic android.media.ExifInterface.ORF_IMAGE_PROCESSING_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
            dup
            bipush 9
            getstatic android.media.ExifInterface.PEF_TAGS:[Landroid/media/ExifInterface$ExifTag;
            aastore
       224: .line 1196
            putstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
       225: .line 1202
            bipush 6
            anewarray android.media.ExifInterface$ExifTag
            dup
            iconst_0
       226: .line 1203
            new android.media.ExifInterface$ExifTag
            dup
            ldc "SubIFDPointer"
            sipush 330
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_1
       227: .line 1204
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ExifIFDPointer"
            ldc 34665
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_2
       228: .line 1205
            new android.media.ExifInterface$ExifTag
            dup
            ldc "GPSInfoIFDPointer"
            ldc 34853
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_3
       229: .line 1206
            new android.media.ExifInterface$ExifTag
            dup
            ldc "InteroperabilityIFDPointer"
            ldc 40965
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_4
       230: .line 1207
            new android.media.ExifInterface$ExifTag
            dup
            ldc "CameraSettingsIFDPointer"
            sipush 8224
            iconst_1
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
            dup
            iconst_5
       231: .line 1208
            new android.media.ExifInterface$ExifTag
            dup
            ldc "ImageProcessingIFDPointer"
            sipush 8256
            iconst_1
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
            aastore
       232: .line 1202
            putstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
       233: .line 1213
            new android.media.ExifInterface$ExifTag
            dup
            ldc "JPEGInterchangeFormat"
            sipush 513
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
       234: .line 1212
            putstatic android.media.ExifInterface.JPEG_INTERCHANGE_FORMAT_TAG:Landroid/media/ExifInterface$ExifTag;
       235: .line 1215
            new android.media.ExifInterface$ExifTag
            dup
            ldc "JPEGInterchangeFormatLength"
            sipush 514
            iconst_4
            invokespecial android.media.ExifInterface$ExifTag.<init>:(Ljava/lang/String;II)V
       236: .line 1214
            putstatic android.media.ExifInterface.JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroid/media/ExifInterface$ExifTag;
       237: .line 1218
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            anewarray java.util.HashMap
            putstatic android.media.ExifInterface.sExifTagMapsForReading:[Ljava/util/HashMap;
       238: .line 1220
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            anewarray java.util.HashMap
            putstatic android.media.ExifInterface.sExifTagMapsForWriting:[Ljava/util/HashMap;
       239: .line 1221
            new java.util.HashSet
            dup
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
       240: .line 1222
            ldc "FNumber"
            aastore
            dup
            iconst_1
            ldc "DigitalZoomRatio"
            aastore
            dup
            iconst_2
            ldc "ExposureTime"
            aastore
            dup
            iconst_3
            ldc "SubjectDistance"
            aastore
            dup
            iconst_4
       241: .line 1223
            ldc "GPSTimeStamp"
            aastore
       242: .line 1221
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic android.media.ExifInterface.sTagSetForCompatibility:Ljava/util/HashSet;
       243: .line 1225
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic android.media.ExifInterface.sExifPointerTagMap:Ljava/util/HashMap;
       244: .line 1232
            ldc "US-ASCII"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putstatic android.media.ExifInterface.ASCII:Ljava/nio/charset/Charset;
       245: .line 1234
            ldc "Exif\u0000\u0000"
            getstatic android.media.ExifInterface.ASCII:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            putstatic android.media.ExifInterface.IDENTIFIER_EXIF_APP1:[B
       246: .line 1274
            new java.text.SimpleDateFormat
            dup
            ldc "yyyy:MM:dd HH:mm:ss"
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;)V
            putstatic android.media.ExifInterface.sFormatter:Ljava/text/SimpleDateFormat;
       247: .line 1275
            getstatic android.media.ExifInterface.sFormatter:Ljava/text/SimpleDateFormat;
            ldc "UTC"
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            invokevirtual java.text.SimpleDateFormat.setTimeZone:(Ljava/util/TimeZone;)V
       248: .line 1278
            iconst_0
            istore 0 /* ifdType */
        start local 0 // int ifdType
       249: goto 259
       250: .line 1279
      StackMap locals: int
      StackMap stack:
            getstatic android.media.ExifInterface.sExifTagMapsForReading:[Ljava/util/HashMap;
            iload 0 /* ifdType */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            aastore
       251: .line 1280
            getstatic android.media.ExifInterface.sExifTagMapsForWriting:[Ljava/util/HashMap;
            iload 0 /* ifdType */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            aastore
       252: .line 1281
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            iload 0 /* ifdType */
            aaload
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 257
      StackMap locals: int top int int android.media.ExifInterface$ExifTag[]
      StackMap stack:
       253: aload 4
            iload 2
            aaload
            astore 1 /* tag */
        start local 1 // android.media.ExifInterface$ExifTag tag
       254: .line 1282
            getstatic android.media.ExifInterface.sExifTagMapsForReading:[Ljava/util/HashMap;
            iload 0 /* ifdType */
            aaload
            aload 1 /* tag */
            getfield android.media.ExifInterface$ExifTag.number:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* tag */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       255: .line 1283
            getstatic android.media.ExifInterface.sExifTagMapsForWriting:[Ljava/util/HashMap;
            iload 0 /* ifdType */
            aaload
            aload 1 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            aload 1 /* tag */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 1 // android.media.ExifInterface$ExifTag tag
       256: .line 1281
            iinc 2 1
      StackMap locals:
      StackMap stack:
       257: iload 2
            iload 3
            if_icmplt 253
       258: .line 1278
            iinc 0 /* ifdType */ 1
      StackMap locals: int
      StackMap stack:
       259: iload 0 /* ifdType */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 250
        end local 0 // int ifdType
       260: .line 1288
            getstatic android.media.ExifInterface.sExifPointerTagMap:Ljava/util/HashMap;
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_0
            aaload
            getfield android.media.ExifInterface$ExifTag.number:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       261: .line 1289
            getstatic android.media.ExifInterface.sExifPointerTagMap:Ljava/util/HashMap;
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_1
            aaload
            getfield android.media.ExifInterface$ExifTag.number:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       262: .line 1290
            getstatic android.media.ExifInterface.sExifPointerTagMap:Ljava/util/HashMap;
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_2
            aaload
            getfield android.media.ExifInterface$ExifTag.number:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       263: .line 1291
            getstatic android.media.ExifInterface.sExifPointerTagMap:Ljava/util/HashMap;
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_3
            aaload
            getfield android.media.ExifInterface$ExifTag.number:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       264: .line 1292
            getstatic android.media.ExifInterface.sExifPointerTagMap:Ljava/util/HashMap;
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_4
            aaload
            getfield android.media.ExifInterface$ExifTag.number:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            bipush 7
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       265: .line 1293
            getstatic android.media.ExifInterface.sExifPointerTagMap:Ljava/util/HashMap;
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_5
            aaload
            getfield android.media.ExifInterface$ExifTag.number:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            bipush 8
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       266: .line 1318
            ldc ".*[1-9].*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic android.media.ExifInterface.sNonZeroTimePattern:Ljava/util/regex/Pattern;
       267: .line 1321
            ldc "^([0-9][0-9]):([0-9][0-9]):([0-9][0-9])$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
       268: .line 1320
            putstatic android.media.ExifInterface.sGpsTimestampPattern:Ljava/util/regex/Pattern;
       269: .line 1321
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
          249  260     0  ifdType  I
          254  256     1      tag  Landroid/media/ExifInterface$ExifTag;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.ExifInterface this
         0: .line 23
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import android.system cannot be resolved\n\tThe import android.system cannot be resolved\n\tThe import android.system cannot be resolved\n\tThe import libcore.io cannot be resolved\n\tThe import libcore.io cannot be resolved\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tErrnoException cannot be resolved to a type\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tStreams cannot be resolved\n\tErrnoException cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tErrnoException cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tNo exception of type Object can be thrown; an exception type must be a subclass of Throwable\n\tErrnoException cannot be resolved to a type\n\tThe method d(String, String, Throwable) in the type Log is not applicable for the arguments (String, String, Object)\n\tIoUtils cannot be resolved\n\tStreams cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ExifInterface;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      filename  

  public void <init>(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.ExifInterface this
         0: .line 23
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import android.system cannot be resolved\n\tThe import android.system cannot be resolved\n\tThe import android.system cannot be resolved\n\tThe import libcore.io cannot be resolved\n\tThe import libcore.io cannot be resolved\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tErrnoException cannot be resolved to a type\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tStreams cannot be resolved\n\tErrnoException cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tErrnoException cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tNo exception of type Object can be thrown; an exception type must be a subclass of Throwable\n\tErrnoException cannot be resolved to a type\n\tThe method d(String, String, Throwable) in the type Log is not applicable for the arguments (String, String, Object)\n\tIoUtils cannot be resolved\n\tStreams cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ExifInterface;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      fileDescriptor  

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.io.InputStream inputStream
         0: .line 1386
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1301
            aload 0 /* this */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            anewarray java.util.HashMap
            putfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
         2: .line 1302
            aload 0 /* this */
            new java.util.HashSet
            dup
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            invokespecial java.util.HashSet.<init>:(I)V
            putfield android.media.ExifInterface.mAttributesOffsets:Ljava/util/Set;
         3: .line 1303
            aload 0 /* this */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            putfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
         4: .line 1387
            aload 1 /* inputStream */
            ifnonnull 6
         5: .line 1388
            new java.lang.IllegalArgumentException
            dup
            ldc "inputStream cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1390
      StackMap locals: android.media.ExifInterface java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.media.ExifInterface.mFilename:Ljava/lang/String;
         7: .line 1391
            aload 1 /* inputStream */
            instanceof android.content.res.AssetManager$AssetInputStream
            ifeq 11
         8: .line 1392
            aload 0 /* this */
            aload 1 /* inputStream */
            checkcast android.content.res.AssetManager$AssetInputStream
            putfield android.media.ExifInterface.mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
         9: .line 1393
            aload 0 /* this */
            aconst_null
            putfield android.media.ExifInterface.mSeekableFileDescriptor:Ljava/io/FileDescriptor;
        10: .line 1394
            goto 18
      StackMap locals:
      StackMap stack:
        11: aload 1 /* inputStream */
            instanceof java.io.FileInputStream
            ifeq 16
        12: .line 1395
            aload 1 /* inputStream */
            checkcast java.io.FileInputStream
            invokevirtual java.io.FileInputStream.getFD:()Ljava/io/FileDescriptor;
            invokestatic android.media.ExifInterface.isSeekableFD:(Ljava/io/FileDescriptor;)Z
            ifeq 16
        13: .line 1396
            aload 0 /* this */
            aconst_null
            putfield android.media.ExifInterface.mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
        14: .line 1397
            aload 0 /* this */
            aload 1 /* inputStream */
            checkcast java.io.FileInputStream
            invokevirtual java.io.FileInputStream.getFD:()Ljava/io/FileDescriptor;
            putfield android.media.ExifInterface.mSeekableFileDescriptor:Ljava/io/FileDescriptor;
        15: .line 1398
            goto 18
        16: .line 1399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.media.ExifInterface.mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
        17: .line 1400
            aload 0 /* this */
            aconst_null
            putfield android.media.ExifInterface.mSeekableFileDescriptor:Ljava/io/FileDescriptor;
        18: .line 1402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.media.ExifInterface.mIsInputStream:Z
        19: .line 1403
            aload 0 /* this */
            aload 1 /* inputStream */
            invokevirtual android.media.ExifInterface.loadAttributes:(Ljava/io/InputStream;)V
        20: .line 1404
            return
        end local 1 // java.io.InputStream inputStream
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Landroid/media/ExifInterface;
            0   21     1  inputStream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      inputStream  

  private android.media.ExifInterface$ExifAttribute getExifAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.lang.String tag
         0: .line 1415
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 1416
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* i */
            aaload
            aload 1 /* tag */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         3: .line 1417
            aload 3 /* value */
            ifnull 5
         4: .line 1418
            aload 3 /* value */
            checkcast android.media.ExifInterface$ExifAttribute
            areturn
        end local 3 // java.lang.Object value
         5: .line 1415
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 2
        end local 2 // int i
         7: .line 1421
            aconst_null
            areturn
        end local 1 // java.lang.String tag
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/media/ExifInterface;
            0    8     1    tag  Ljava/lang/String;
            1    7     2      i  I
            3    5     3  value  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      tag   

  public java.lang.String getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.lang.String tag
         0: .line 1431
            aload 0 /* this */
            aload 1 /* tag */
            invokevirtual android.media.ExifInterface.getExifAttribute:(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
            astore 2 /* attribute */
        start local 2 // android.media.ExifInterface$ExifAttribute attribute
         1: .line 1432
            aload 2 /* attribute */
            ifnull 20
         2: .line 1433
            getstatic android.media.ExifInterface.sTagSetForCompatibility:Ljava/util/HashSet;
            aload 1 /* tag */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 1434
            aload 2 /* attribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getStringValue:(Ljava/nio/ByteOrder;)Ljava/lang/String;
            areturn
         4: .line 1436
      StackMap locals: android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 1 /* tag */
            ldc "GPSTimeStamp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
         5: .line 1438
            aload 2 /* attribute */
            getfield android.media.ExifInterface$ExifAttribute.format:I
            iconst_5
            if_icmpeq 8
         6: .line 1439
            aload 2 /* attribute */
            getfield android.media.ExifInterface$ExifAttribute.format:I
            bipush 10
            if_icmpeq 8
         7: .line 1440
            aconst_null
            areturn
         8: .line 1442
      StackMap locals:
      StackMap stack:
            aload 2 /* attribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$Rational[]
            astore 3 /* array */
        start local 3 // android.media.ExifInterface$Rational[] array
         9: .line 1443
            aload 3 /* array */
            arraylength
            iconst_3
            if_icmpeq 11
        10: .line 1444
            aconst_null
            areturn
        11: .line 1446
      StackMap locals: android.media.ExifInterface$Rational[]
      StackMap stack:
            ldc "%02d:%02d:%02d"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 1447
            aload 3 /* array */
            iconst_0
            aaload
            getfield android.media.ExifInterface$Rational.numerator:J
            l2f
            aload 3 /* array */
            iconst_0
            aaload
            getfield android.media.ExifInterface$Rational.denominator:J
            l2f
            fdiv
            f2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
        13: .line 1448
            aload 3 /* array */
            iconst_1
            aaload
            getfield android.media.ExifInterface$Rational.numerator:J
            l2f
            aload 3 /* array */
            iconst_1
            aaload
            getfield android.media.ExifInterface$Rational.denominator:J
            l2f
            fdiv
            f2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        14: .line 1449
            aload 3 /* array */
            iconst_2
            aaload
            getfield android.media.ExifInterface$Rational.numerator:J
            l2f
            aload 3 /* array */
            iconst_2
            aaload
            getfield android.media.ExifInterface$Rational.denominator:J
            l2f
            fdiv
            f2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        15: .line 1446
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // android.media.ExifInterface$Rational[] array
        16: .line 1452
      StackMap locals:
      StackMap stack:
            aload 2 /* attribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getDoubleValue:(Ljava/nio/ByteOrder;)D
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
        17: areturn
        18: .line 1453
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        19: .line 1454
            aconst_null
            areturn
        20: .line 1457
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // android.media.ExifInterface$ExifAttribute attribute
        end local 1 // java.lang.String tag
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Landroid/media/ExifInterface;
            0   21     1        tag  Ljava/lang/String;
            1   21     2  attribute  Landroid/media/ExifInterface$ExifAttribute;
            9   16     3      array  [Landroid/media/ExifInterface$Rational;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      tag   

  public int getAttributeInt(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // java.lang.String tag
        start local 2 // int defaultValue
         0: .line 1469
            aload 0 /* this */
            aload 1 /* tag */
            invokevirtual android.media.ExifInterface.getExifAttribute:(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
            astore 3 /* exifAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute exifAttribute
         1: .line 1470
            aload 3 /* exifAttribute */
            ifnonnull 3
         2: .line 1471
            iload 2 /* defaultValue */
            ireturn
         3: .line 1475
      StackMap locals: android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 3 /* exifAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
         4: ireturn
         5: .line 1476
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         6: .line 1477
            iload 2 /* defaultValue */
            ireturn
        end local 3 // android.media.ExifInterface$ExifAttribute exifAttribute
        end local 2 // int defaultValue
        end local 1 // java.lang.String tag
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Landroid/media/ExifInterface;
            0    7     1            tag  Ljava/lang/String;
            0    7     2   defaultValue  I
            1    7     3  exifAttribute  Landroid/media/ExifInterface$ExifAttribute;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      tag           
      defaultValue  

  public double getAttributeDouble(java.lang.String, double);
    descriptor: (Ljava/lang/String;D)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // java.lang.String tag
        start local 2 // double defaultValue
         0: .line 1490
            aload 0 /* this */
            aload 1 /* tag */
            invokevirtual android.media.ExifInterface.getExifAttribute:(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
            astore 4 /* exifAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute exifAttribute
         1: .line 1491
            aload 4 /* exifAttribute */
            ifnonnull 3
         2: .line 1492
            dload 2 /* defaultValue */
            dreturn
         3: .line 1496
      StackMap locals: android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 4 /* exifAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getDoubleValue:(Ljava/nio/ByteOrder;)D
         4: dreturn
         5: .line 1497
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         6: .line 1498
            dload 2 /* defaultValue */
            dreturn
        end local 4 // android.media.ExifInterface$ExifAttribute exifAttribute
        end local 2 // double defaultValue
        end local 1 // java.lang.String tag
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Landroid/media/ExifInterface;
            0    7     1            tag  Ljava/lang/String;
            0    7     2   defaultValue  D
            1    7     4  exifAttribute  Landroid/media/ExifInterface$ExifAttribute;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      tag           
      defaultValue  

  public void setAttribute(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=12, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // java.lang.String tag
        start local 2 // java.lang.String value
         0: .line 1510
            aload 2 /* value */
            ifnull 16
            getstatic android.media.ExifInterface.sTagSetForCompatibility:Ljava/util/HashSet;
            aload 1 /* tag */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 16
         1: .line 1511
            aload 1 /* tag */
            ldc "GPSTimeStamp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         2: .line 1512
            getstatic android.media.ExifInterface.sGpsTimestampPattern:Ljava/util/regex/Pattern;
            aload 2 /* value */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 3 /* m */
        start local 3 // java.util.regex.Matcher m
         3: .line 1513
            aload 3 /* m */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifne 6
         4: .line 1514
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Invalid value for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* tag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         5: .line 1515
            return
         6: .line 1517
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* m */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/1,"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* m */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/1,"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1518
            aload 3 /* m */
            iconst_3
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/1"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1517
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* value */
        end local 3 // java.util.regex.Matcher m
         9: .line 1519
            goto 16
        10: .line 1521
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 3 /* doubleValue */
        start local 3 // double doubleValue
        11: .line 1522
            new java.lang.StringBuilder
            dup
            dload 3 /* doubleValue */
            ldc 10000.0
            dmul
            d2l
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/10000"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* value */
        end local 3 // double doubleValue
        12: .line 1523
            goto 16
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        13: pop
        14: .line 1524
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Invalid value for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* tag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 1525
            return
        16: .line 1530
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        17: goto 131
        18: .line 1531
      StackMap locals: int
      StackMap stack:
            iload 3 /* i */
            iconst_4
            if_icmpne 20
            aload 0 /* this */
            getfield android.media.ExifInterface.mHasThumbnail:Z
            ifne 20
        19: .line 1532
            goto 130
        20: .line 1534
      StackMap locals:
      StackMap stack:
            getstatic android.media.ExifInterface.sExifTagMapsForWriting:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* obj */
        start local 4 // java.lang.Object obj
        21: .line 1535
            aload 4 /* obj */
            ifnull 130
        22: .line 1536
            aload 2 /* value */
            ifnonnull 25
        23: .line 1537
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 1538
            goto 130
        25: .line 1540
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* obj */
            checkcast android.media.ExifInterface$ExifTag
            astore 5 /* exifTag */
        start local 5 // android.media.ExifInterface$ExifTag exifTag
        26: .line 1541
            aload 2 /* value */
            invokestatic android.media.ExifInterface.guessDataFormat:(Ljava/lang/String;)Landroid/util/Pair;
            astore 6 /* guess */
        start local 6 // android.util.Pair guess
        27: .line 1543
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.primaryFormat:I
            aload 6 /* guess */
            getfield android.util.Pair.first:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpeq 28
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.primaryFormat:I
            aload 6 /* guess */
            getfield android.util.Pair.second:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpne 30
        28: .line 1544
      StackMap locals: android.media.ExifInterface$ExifTag android.util.Pair
      StackMap stack:
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.primaryFormat:I
            istore 7 /* dataFormat */
        start local 7 // int dataFormat
        29: .line 1545
            goto 52
        end local 7 // int dataFormat
      StackMap locals:
      StackMap stack:
        30: aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.secondaryFormat:I
            iconst_m1
            if_icmpeq 34
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.secondaryFormat:I
            aload 6 /* guess */
            getfield android.util.Pair.first:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpeq 32
        31: .line 1546
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.secondaryFormat:I
            aload 6 /* guess */
            getfield android.util.Pair.second:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpne 34
        32: .line 1547
      StackMap locals:
      StackMap stack:
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.secondaryFormat:I
            istore 7 /* dataFormat */
        start local 7 // int dataFormat
        33: .line 1548
            goto 52
        end local 7 // int dataFormat
      StackMap locals:
      StackMap stack:
        34: aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.primaryFormat:I
            iconst_1
            if_icmpeq 37
        35: .line 1549
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.primaryFormat:I
            bipush 7
            if_icmpeq 37
        36: .line 1550
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.primaryFormat:I
            iconst_2
            if_icmpne 39
        37: .line 1551
      StackMap locals:
      StackMap stack:
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.primaryFormat:I
            istore 7 /* dataFormat */
        start local 7 // int dataFormat
        38: .line 1552
            goto 52
        end local 7 // int dataFormat
        39: .line 1553
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Given tag ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* tag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") value didn't match with one of expected "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1554
            ldc "formats: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic android.media.ExifInterface.IFD_FORMAT_NAMES:[Ljava/lang/String;
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.primaryFormat:I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 1555
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.secondaryFormat:I
            iconst_m1
            if_icmpne 42
            ldc ""
            goto 44
      StackMap locals: android.media.ExifInterface java.lang.String java.lang.String int java.lang.Object android.media.ExifInterface$ExifTag android.util.Pair
      StackMap stack: java.lang.String java.lang.StringBuilder
        42: new java.lang.StringBuilder
            dup
            ldc ", "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 1556
            getstatic android.media.ExifInterface.IFD_FORMAT_NAMES:[Ljava/lang/String;
            aload 5 /* exifTag */
            getfield android.media.ExifInterface$ExifTag.secondaryFormat:I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 1555
      StackMap locals: android.media.ExifInterface java.lang.String java.lang.String int java.lang.Object android.media.ExifInterface$ExifTag android.util.Pair
      StackMap stack: java.lang.String java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        45: .line 1556
            ldc " (guess: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 1557
            getstatic android.media.ExifInterface.IFD_FORMAT_NAMES:[Ljava/lang/String;
            aload 6 /* guess */
            getfield android.util.Pair.first:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* guess */
            getfield android.util.Pair.second:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_m1
            if_icmpne 47
            ldc ""
            goto 49
      StackMap locals: android.media.ExifInterface java.lang.String java.lang.String int java.lang.Object android.media.ExifInterface$ExifTag android.util.Pair
      StackMap stack: java.lang.String java.lang.StringBuilder
        47: new java.lang.StringBuilder
            dup
            ldc ", "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 1558
            getstatic android.media.ExifInterface.IFD_FORMAT_NAMES:[Ljava/lang/String;
            aload 6 /* guess */
            getfield android.util.Pair.second:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: android.media.ExifInterface java.lang.String java.lang.String int java.lang.Object android.media.ExifInterface$ExifTag android.util.Pair
      StackMap stack: java.lang.String java.lang.StringBuilder java.lang.String
        49: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 1553
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        51: .line 1559
            goto 130
        start local 7 // int dataFormat
        52: .line 1561
      StackMap locals: int
      StackMap stack:
            iload 7 /* dataFormat */
            tableswitch { // 1 - 12
                    1: 53
                    2: 55
                    3: 57
                    4: 79
                    5: 90
                    6: 129
                    7: 55
                    8: 129
                    9: 68
                   10: 104
                   11: 129
                   12: 118
              default: 129
          }
        53: .line 1563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
            aload 2 /* value */
            invokestatic android.media.ExifInterface$ExifAttribute.createByte:(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        54: .line 1564
            goto 130
        55: .line 1568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
            aload 2 /* value */
            invokestatic android.media.ExifInterface$ExifAttribute.createString:(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        56: .line 1569
            goto 130
        57: .line 1572
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* values */
        start local 8 // java.lang.String[] values
        58: .line 1573
            aload 8 /* values */
            arraylength
            newarray 10
            astore 9 /* intArray */
        start local 9 // int[] intArray
        59: .line 1574
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        60: goto 63
        61: .line 1575
      StackMap locals: java.lang.String[] int[] int
      StackMap stack:
            aload 9 /* intArray */
            iload 10 /* j */
            aload 8 /* values */
            iload 10 /* j */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iastore
        62: .line 1574
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        63: iload 10 /* j */
            aload 8 /* values */
            arraylength
            if_icmplt 61
        end local 10 // int j
        64: .line 1577
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
        65: .line 1578
            aload 9 /* intArray */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        66: .line 1577
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        67: .line 1579
            goto 130
        end local 9 // int[] intArray
        end local 8 // java.lang.String[] values
        68: .line 1582
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* values */
        start local 8 // java.lang.String[] values
        69: .line 1583
            aload 8 /* values */
            arraylength
            newarray 10
            astore 9 /* intArray */
        start local 9 // int[] intArray
        70: .line 1584
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        71: goto 74
        72: .line 1585
      StackMap locals: java.lang.String[] int[] int
      StackMap stack:
            aload 9 /* intArray */
            iload 10 /* j */
            aload 8 /* values */
            iload 10 /* j */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iastore
        73: .line 1584
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        74: iload 10 /* j */
            aload 8 /* values */
            arraylength
            if_icmplt 72
        end local 10 // int j
        75: .line 1587
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
        76: .line 1588
            aload 9 /* intArray */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createSLong:([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        77: .line 1587
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        78: .line 1589
            goto 130
        end local 9 // int[] intArray
        end local 8 // java.lang.String[] values
        79: .line 1592
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* values */
        start local 8 // java.lang.String[] values
        80: .line 1593
            aload 8 /* values */
            arraylength
            newarray 11
            astore 9 /* longArray */
        start local 9 // long[] longArray
        81: .line 1594
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        82: goto 85
        83: .line 1595
      StackMap locals: java.lang.String[] long[] int
      StackMap stack:
            aload 9 /* longArray */
            iload 10 /* j */
            aload 8 /* values */
            iload 10 /* j */
            aaload
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lastore
        84: .line 1594
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        85: iload 10 /* j */
            aload 8 /* values */
            arraylength
            if_icmplt 83
        end local 10 // int j
        86: .line 1597
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
        87: .line 1598
            aload 9 /* longArray */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:([JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        88: .line 1597
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        89: .line 1599
            goto 130
        end local 9 // long[] longArray
        end local 8 // java.lang.String[] values
        90: .line 1602
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* values */
        start local 8 // java.lang.String[] values
        91: .line 1603
            aload 8 /* values */
            arraylength
            anewarray android.media.ExifInterface$Rational
            astore 9 /* rationalArray */
        start local 9 // android.media.ExifInterface$Rational[] rationalArray
        92: .line 1604
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        93: goto 99
        94: .line 1605
      StackMap locals: java.lang.String[] android.media.ExifInterface$Rational[] int
      StackMap stack:
            aload 8 /* values */
            iload 10 /* j */
            aaload
            ldc "/"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 11 /* numbers */
        start local 11 // java.lang.String[] numbers
        95: .line 1606
            aload 9 /* rationalArray */
            iload 10 /* j */
            new android.media.ExifInterface$Rational
            dup
            aload 11 /* numbers */
            iconst_0
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            d2l
        96: .line 1607
            aload 11 /* numbers */
            iconst_1
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            d2l
            invokespecial android.media.ExifInterface$Rational.<init>:(JJ)V
        97: .line 1606
            aastore
        end local 11 // java.lang.String[] numbers
        98: .line 1604
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        99: iload 10 /* j */
            aload 8 /* values */
            arraylength
            if_icmplt 94
        end local 10 // int j
       100: .line 1609
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
       101: .line 1610
            aload 9 /* rationalArray */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createURational:([Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
       102: .line 1609
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       103: .line 1611
            goto 130
        end local 9 // android.media.ExifInterface$Rational[] rationalArray
        end local 8 // java.lang.String[] values
       104: .line 1614
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* values */
        start local 8 // java.lang.String[] values
       105: .line 1615
            aload 8 /* values */
            arraylength
            anewarray android.media.ExifInterface$Rational
            astore 9 /* rationalArray */
        start local 9 // android.media.ExifInterface$Rational[] rationalArray
       106: .line 1616
            iconst_0
            istore 10 /* j */
        start local 10 // int j
       107: goto 113
       108: .line 1617
      StackMap locals: java.lang.String[] android.media.ExifInterface$Rational[] int
      StackMap stack:
            aload 8 /* values */
            iload 10 /* j */
            aaload
            ldc "/"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 11 /* numbers */
        start local 11 // java.lang.String[] numbers
       109: .line 1618
            aload 9 /* rationalArray */
            iload 10 /* j */
            new android.media.ExifInterface$Rational
            dup
            aload 11 /* numbers */
            iconst_0
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            d2l
       110: .line 1619
            aload 11 /* numbers */
            iconst_1
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            d2l
            invokespecial android.media.ExifInterface$Rational.<init>:(JJ)V
       111: .line 1618
            aastore
        end local 11 // java.lang.String[] numbers
       112: .line 1616
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
       113: iload 10 /* j */
            aload 8 /* values */
            arraylength
            if_icmplt 108
        end local 10 // int j
       114: .line 1621
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
       115: .line 1622
            aload 9 /* rationalArray */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createSRational:([Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
       116: .line 1621
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       117: .line 1623
            goto 130
        end local 9 // android.media.ExifInterface$Rational[] rationalArray
        end local 8 // java.lang.String[] values
       118: .line 1626
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* values */
        start local 8 // java.lang.String[] values
       119: .line 1627
            aload 8 /* values */
            arraylength
            newarray 7
            astore 9 /* doubleArray */
        start local 9 // double[] doubleArray
       120: .line 1628
            iconst_0
            istore 10 /* j */
        start local 10 // int j
       121: goto 124
       122: .line 1629
      StackMap locals: java.lang.String[] double[] int
      StackMap stack:
            aload 9 /* doubleArray */
            iload 10 /* j */
            aload 8 /* values */
            iload 10 /* j */
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dastore
       123: .line 1628
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
       124: iload 10 /* j */
            aload 8 /* values */
            arraylength
            if_icmplt 122
        end local 10 // int j
       125: .line 1631
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* i */
            aaload
            aload 1 /* tag */
       126: .line 1632
            aload 9 /* doubleArray */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createDouble:([DLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
       127: .line 1631
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       128: .line 1633
            goto 130
        end local 9 // double[] doubleArray
        end local 8 // java.lang.String[] values
       129: .line 1636
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Data format isn't one of expected formats: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* dataFormat */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 7 // int dataFormat
        end local 6 // android.util.Pair guess
        end local 5 // android.media.ExifInterface$ExifTag exifTag
        end local 4 // java.lang.Object obj
       130: .line 1530
      StackMap locals: android.media.ExifInterface java.lang.String java.lang.String int
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
       131: iload 3 /* i */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 18
        end local 3 // int i
       132: .line 1641
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String tag
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  133     0           this  Landroid/media/ExifInterface;
            0  133     1            tag  Ljava/lang/String;
            0  133     2          value  Ljava/lang/String;
            3    9     3              m  Ljava/util/regex/Matcher;
           11   12     3    doubleValue  D
           17  132     3              i  I
           21  130     4            obj  Ljava/lang/Object;
           26  130     5        exifTag  Landroid/media/ExifInterface$ExifTag;
           27  130     6          guess  Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;
           29   30     7     dataFormat  I
           33   34     7     dataFormat  I
           38   39     7     dataFormat  I
           52  130     7     dataFormat  I
           58   68     8         values  [Ljava/lang/String;
           59   68     9       intArray  [I
           60   64    10              j  I
           69   79     8         values  [Ljava/lang/String;
           70   79     9       intArray  [I
           71   75    10              j  I
           80   90     8         values  [Ljava/lang/String;
           81   90     9      longArray  [J
           82   86    10              j  I
           91  104     8         values  [Ljava/lang/String;
           92  104     9  rationalArray  [Landroid/media/ExifInterface$Rational;
           93  100    10              j  I
           95   98    11        numbers  [Ljava/lang/String;
          105  118     8         values  [Ljava/lang/String;
          106  118     9  rationalArray  [Landroid/media/ExifInterface$Rational;
          107  114    10              j  I
          109  112    11        numbers  [Ljava/lang/String;
          119  129     8         values  [Ljava/lang/String;
          120  129     9    doubleArray  [D
          121  125    10              j  I
      Exception table:
        from    to  target  type
          10    12      13  Class java.lang.NumberFormatException
    MethodParameters:
       Name  Flags
      tag    
      value  

  private boolean updateAttribute(java.lang.String, android.media.ExifInterface$ExifAttribute);
    descriptor: (Ljava/lang/String;Landroid/media/ExifInterface$ExifAttribute;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // java.lang.String tag
        start local 2 // android.media.ExifInterface$ExifAttribute value
         0: .line 1651
            iconst_0
            istore 3 /* updated */
        start local 3 // boolean updated
         1: .line 1652
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 1653
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 4 /* i */
            aaload
            aload 1 /* tag */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 1654
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 4 /* i */
            aaload
            aload 1 /* tag */
            aload 2 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1655
            iconst_1
            istore 3 /* updated */
         6: .line 1652
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 3
        end local 4 // int i
         8: .line 1658
            iload 3 /* updated */
            ireturn
        end local 3 // boolean updated
        end local 2 // android.media.ExifInterface$ExifAttribute value
        end local 1 // java.lang.String tag
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Landroid/media/ExifInterface;
            0    9     1      tag  Ljava/lang/String;
            0    9     2    value  Landroid/media/ExifInterface$ExifAttribute;
            1    9     3  updated  Z
            2    8     4        i  I
    MethodParameters:
       Name  Flags
      tag    
      value  

  private void removeAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.lang.String tag
         0: .line 1667
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 1668
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* i */
            aaload
            aload 1 /* tag */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1667
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 1670
            return
        end local 1 // java.lang.String tag
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/media/ExifInterface;
            0    6     1   tag  Ljava/lang/String;
            1    5     2     i  I
    MethodParameters:
      Name  Flags
      tag   

  private void loadAttributes(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.io.InputStream in
         0: .line 1680
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 1681
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* i */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            aastore
         3: .line 1680
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 1685
            new java.io.BufferedInputStream
            dup
            aload 1 /* in */
            sipush 5000
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 1 /* in */
         6: .line 1686
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* in */
            checkcast java.io.BufferedInputStream
            invokevirtual android.media.ExifInterface.getMimeType:(Ljava/io/BufferedInputStream;)I
            putfield android.media.ExifInterface.mMimeType:I
         7: .line 1689
            new android.media.ExifInterface$ByteOrderedDataInputStream
            dup
            aload 1 /* in */
            invokespecial android.media.ExifInterface$ByteOrderedDataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 2 /* inputStream */
        start local 2 // android.media.ExifInterface$ByteOrderedDataInputStream inputStream
         8: .line 1691
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            tableswitch { // 0 - 12
                    0: 19
                    1: 19
                    2: 19
                    3: 19
                    4: 9
                    5: 19
                    6: 19
                    7: 15
                    8: 19
                    9: 11
                   10: 17
                   11: 19
                   12: 13
              default: 21
          }
         9: .line 1693
      StackMap locals: android.media.ExifInterface java.io.InputStream android.media.ExifInterface$ByteOrderedDataInputStream
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inputStream */
            iconst_0
            iconst_0
            invokevirtual android.media.ExifInterface.getJpegAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;II)V
        10: .line 1694
            goto 21
        11: .line 1697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface.getRafAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
        12: .line 1698
            goto 21
        13: .line 1701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface.getHeifAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
        14: .line 1702
            goto 21
        15: .line 1705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface.getOrfAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
        16: .line 1706
            goto 21
        17: .line 1709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface.getRw2Attributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
        18: .line 1710
            goto 21
        19: .line 1720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface.getRawAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
        20: .line 1721
            goto 21
        21: .line 1728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface.setThumbnailData:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
        22: .line 1729
            aload 0 /* this */
            iconst_1
            putfield android.media.ExifInterface.mIsSupportedFile:Z
        end local 2 // android.media.ExifInterface$ByteOrderedDataInputStream inputStream
        23: .line 1730
            goto 30
      StackMap locals: android.media.ExifInterface java.io.InputStream
      StackMap stack: java.io.IOException
        24: astore 2 /* e */
        start local 2 // java.io.IOException e
        25: .line 1733
            aload 0 /* this */
            iconst_0
            putfield android.media.ExifInterface.mIsSupportedFile:Z
        end local 2 // java.io.IOException e
        26: .line 1740
            aload 0 /* this */
            invokevirtual android.media.ExifInterface.addDefaultValuesForCompatibility:()V
            goto 31
        27: .line 1739
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        28: .line 1740
            aload 0 /* this */
            invokevirtual android.media.ExifInterface.addDefaultValuesForCompatibility:()V
        29: .line 1745
            aload 3
            athrow
        30: .line 1740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.media.ExifInterface.addDefaultValuesForCompatibility:()V
        31: .line 1746
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.InputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         this  Landroid/media/ExifInterface;
            0   32     1           in  Ljava/io/InputStream;
            1    5     2            i  I
            8   23     2  inputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
           25   26     2            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    23      24  Class java.io.IOException
           0    26      27  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private static boolean isSeekableFD(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1750
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tErrnoException cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  private void printAttributes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 1759
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 11
         2: .line 1760
      StackMap locals: int
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "The size of tag group["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 1 /* i */
            aaload
            invokevirtual java.util.HashMap.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         3: .line 1761
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 1 /* i */
            aaload
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: android.media.ExifInterface int top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         5: .line 1762
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
            astore 4 /* tagValue */
        start local 4 // android.media.ExifInterface$ExifAttribute tagValue
         6: .line 1763
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "tagName: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", tagType: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* tagValue */
            invokevirtual android.media.ExifInterface$ExifAttribute.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1764
            ldc ", tagValue: '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* tagValue */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getStringValue:(Ljava/nio/ByteOrder;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1763
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 4 // android.media.ExifInterface$ExifAttribute tagValue
        end local 2 // java.util.Map$Entry entry
         9: .line 1761
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 1759
            iinc 1 /* i */ 1
      StackMap locals: android.media.ExifInterface int
      StackMap stack:
        11: iload 1 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            arraylength
            if_icmplt 2
        end local 1 // int i
        12: .line 1767
            return
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Landroid/media/ExifInterface;
            1   12     1         i  I
            5    9     2     entry  Ljava/util/Map$Entry;
            6    9     4  tagValue  Landroid/media/ExifInterface$ExifAttribute;

  public void saveAttributes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 1803
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tStreams cannot be resolved\n\tErrnoException cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tErrnoException cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ExifInterface;
    Exceptions:
      throws java.io.IOException

  public boolean hasThumbnail();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 1843
            aload 0 /* this */
            getfield android.media.ExifInterface.mHasThumbnail:Z
            ireturn
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ExifInterface;

  public byte[] getThumbnail();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 1853
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailCompression:I
            bipush 6
            if_icmpeq 1
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailCompression:I
            bipush 7
            if_icmpne 2
         1: .line 1854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.media.ExifInterface.getThumbnailBytes:()[B
            areturn
         2: .line 1856
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/ExifInterface;

  public byte[] getThumbnailBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 1885
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tOs cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n\tNo exception of type Object can be thrown; an exception type must be a subclass of Throwable\n\tErrnoException cannot be resolved to a type\n\tThe method d(String, String, Throwable) in the type Log is not applicable for the arguments (String, String, Object)\n\tIoUtils cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ExifInterface;

  public android.graphics.Bitmap getThumbnailBitmap();
    descriptor: ()Landroid/graphics/Bitmap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 1916
            aload 0 /* this */
            getfield android.media.ExifInterface.mHasThumbnail:Z
            ifne 2
         1: .line 1917
            aconst_null
            areturn
         2: .line 1918
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailBytes:[B
            ifnonnull 4
         3: .line 1919
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.media.ExifInterface.getThumbnailBytes:()[B
            putfield android.media.ExifInterface.mThumbnailBytes:[B
         4: .line 1922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailCompression:I
            bipush 6
            if_icmpeq 5
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailCompression:I
            bipush 7
            if_icmpne 6
         5: .line 1923
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailBytes:[B
            iconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailLength:I
            invokestatic android.graphics.BitmapFactory.decodeByteArray:([BII)Landroid/graphics/Bitmap;
            areturn
         6: .line 1924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailCompression:I
            iconst_1
            if_icmpne 25
         7: .line 1925
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailBytes:[B
            arraylength
            iconst_3
            idiv
            newarray 10
            astore 1 /* rgbValues */
        start local 1 // int[] rgbValues
         8: .line 1926
            iconst_0
            istore 2 /* alpha */
        start local 2 // byte alpha
         9: .line 1927
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 15
        11: .line 1928
      StackMap locals: int[] int int
      StackMap stack:
            aload 1 /* rgbValues */
            iload 3 /* i */
            iload 2 /* alpha */
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailBytes:[B
            iconst_3
            iload 3 /* i */
            imul
            baload
            bipush 16
            ishl
            iadd
        12: .line 1929
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailBytes:[B
            iconst_3
            iload 3 /* i */
            imul
            iconst_1
            iadd
            baload
            bipush 8
            ishl
            iadd
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailBytes:[B
            iconst_3
            iload 3 /* i */
            imul
            iconst_2
            iadd
            baload
            iadd
        13: .line 1928
            iastore
        14: .line 1927
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 1 /* rgbValues */
            arraylength
            if_icmplt 11
        end local 3 // int i
        16: .line 1933
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            ldc "ImageLength"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
        17: .line 1932
            astore 3 /* imageLengthAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        18: .line 1935
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            ldc "ImageWidth"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
        19: .line 1934
            astore 4 /* imageWidthAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
        20: .line 1936
            aload 3 /* imageLengthAttribute */
            ifnull 25
            aload 4 /* imageWidthAttribute */
            ifnull 25
        21: .line 1937
            aload 3 /* imageLengthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 5 /* imageLength */
        start local 5 // int imageLength
        22: .line 1938
            aload 4 /* imageWidthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 6 /* imageWidth */
        start local 6 // int imageWidth
        23: .line 1940
            aload 1 /* rgbValues */
            iload 6 /* imageWidth */
            iload 5 /* imageLength */
            getstatic android.graphics.Bitmap$Config.ARGB_8888:Landroid/graphics/Bitmap$Config;
        24: .line 1939
            invokestatic android.graphics.Bitmap.createBitmap:([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
            areturn
        end local 6 // int imageWidth
        end local 5 // int imageLength
        end local 4 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
        end local 3 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        end local 2 // byte alpha
        end local 1 // int[] rgbValues
        25: .line 1943
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   26     0                  this  Landroid/media/ExifInterface;
            8   25     1             rgbValues  [I
            9   25     2                 alpha  B
           10   16     3                     i  I
           18   25     3  imageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           20   25     4   imageWidthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           22   25     5           imageLength  I
           23   25     6            imageWidth  I

  public boolean isThumbnailCompressed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 1951
            aload 0 /* this */
            getfield android.media.ExifInterface.mHasThumbnail:Z
            ifne 2
         1: .line 1952
            iconst_0
            ireturn
         2: .line 1954
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailCompression:I
            bipush 6
            if_icmpeq 3
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailCompression:I
            bipush 7
            if_icmpne 4
         3: .line 1955
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 1957
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/media/ExifInterface;

  public long[] getThumbnailRange();
    descriptor: ()[J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 1968
            aload 0 /* this */
            getfield android.media.ExifInterface.mHasThumbnail:Z
            ifne 2
         1: .line 1969
            aconst_null
            areturn
         2: .line 1972
      StackMap locals:
      StackMap stack:
            iconst_2
            newarray 11
            astore 1 /* range */
        start local 1 // long[] range
         3: .line 1973
            aload 1 /* range */
            iconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailOffset:I
            i2l
            lastore
         4: .line 1974
            aload 1 /* range */
            iconst_1
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailLength:I
            i2l
            lastore
         5: .line 1976
            aload 1 /* range */
            areturn
        end local 1 // long[] range
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/media/ExifInterface;
            3    6     1  range  [J

  public boolean getLatLong(float[]);
    descriptor: ([F)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // float[] output
         0: .line 1985
            aload 0 /* this */
            ldc "GPSLatitude"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* latValue */
        start local 2 // java.lang.String latValue
         1: .line 1986
            aload 0 /* this */
            ldc "GPSLatitudeRef"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* latRef */
        start local 3 // java.lang.String latRef
         2: .line 1987
            aload 0 /* this */
            ldc "GPSLongitude"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* lngValue */
        start local 4 // java.lang.String lngValue
         3: .line 1988
            aload 0 /* this */
            ldc "GPSLongitudeRef"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* lngRef */
        start local 5 // java.lang.String lngRef
         4: .line 1990
            aload 2 /* latValue */
            ifnull 9
            aload 3 /* latRef */
            ifnull 9
            aload 4 /* lngValue */
            ifnull 9
            aload 5 /* lngRef */
            ifnull 9
         5: .line 1992
            aload 1 /* output */
            iconst_0
            aload 2 /* latValue */
            aload 3 /* latRef */
            invokestatic android.media.ExifInterface.convertRationalLatLonToFloat:(Ljava/lang/String;Ljava/lang/String;)F
            fastore
         6: .line 1993
            aload 1 /* output */
            iconst_1
            aload 4 /* lngValue */
            aload 5 /* lngRef */
            invokestatic android.media.ExifInterface.convertRationalLatLonToFloat:(Ljava/lang/String;Ljava/lang/String;)F
            fastore
         7: .line 1994
            iconst_1
            ireturn
         8: .line 1995
      StackMap locals: android.media.ExifInterface float[] java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
            pop
         9: .line 2000
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // java.lang.String lngRef
        end local 4 // java.lang.String lngValue
        end local 3 // java.lang.String latRef
        end local 2 // java.lang.String latValue
        end local 1 // float[] output
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Landroid/media/ExifInterface;
            0   10     1    output  [F
            1   10     2  latValue  Ljava/lang/String;
            2   10     3    latRef  Ljava/lang/String;
            3   10     4  lngValue  Ljava/lang/String;
            4   10     5    lngRef  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.IllegalArgumentException
    MethodParameters:
        Name  Flags
      output  

  public double getAltitude(double);
    descriptor: (D)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // double defaultValue
         0: .line 2010
            aload 0 /* this */
            ldc "GPSAltitude"
            ldc -1.0
            invokevirtual android.media.ExifInterface.getAttributeDouble:(Ljava/lang/String;D)D
            dstore 3 /* altitude */
        start local 3 // double altitude
         1: .line 2011
            aload 0 /* this */
            ldc "GPSAltitudeRef"
            iconst_m1
            invokevirtual android.media.ExifInterface.getAttributeInt:(Ljava/lang/String;I)I
            istore 5 /* ref */
        start local 5 // int ref
         2: .line 2013
            dload 3 /* altitude */
            dconst_0
            dcmpl
            iflt 6
            iload 5 /* ref */
            iflt 6
         3: .line 2014
            dload 3 /* altitude */
            iload 5 /* ref */
            iconst_1
            if_icmpne 4
            iconst_m1
            goto 5
      StackMap locals: android.media.ExifInterface double double int
      StackMap stack: double
         4: iconst_1
      StackMap locals: android.media.ExifInterface double double int
      StackMap stack: double int
         5: i2d
            dmul
            dreturn
         6: .line 2016
      StackMap locals:
      StackMap stack:
            dload 1 /* defaultValue */
            dreturn
        end local 5 // int ref
        end local 3 // double altitude
        end local 1 // double defaultValue
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Landroid/media/ExifInterface;
            0    7     1  defaultValue  D
            1    7     3      altitude  D
            2    7     5           ref  I
    MethodParameters:
              Name  Flags
      defaultValue  

  public long getDateTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 2026
            aload 0 /* this */
            ldc "DateTime"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* dateTimeString */
        start local 1 // java.lang.String dateTimeString
         1: .line 2027
            aload 1 /* dateTimeString */
            ifnull 3
         2: .line 2028
            getstatic android.media.ExifInterface.sNonZeroTimePattern:Ljava/util/regex/Pattern;
            aload 1 /* dateTimeString */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: ldc -1
            lreturn
         4: .line 2030
      StackMap locals:
      StackMap stack:
            new java.text.ParsePosition
            dup
            iconst_0
            invokespecial java.text.ParsePosition.<init>:(I)V
            astore 2 /* pos */
        start local 2 // java.text.ParsePosition pos
         5: .line 2034
            getstatic android.media.ExifInterface.sFormatter:Ljava/text/SimpleDateFormat;
            aload 1 /* dateTimeString */
            aload 2 /* pos */
            invokevirtual java.text.SimpleDateFormat.parse:(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
            astore 3 /* datetime */
        start local 3 // java.util.Date datetime
         6: .line 2035
            aload 3 /* datetime */
            ifnonnull 8
         7: ldc -1
            lreturn
         8: .line 2036
      StackMap locals: java.text.ParsePosition java.util.Date
      StackMap stack:
            aload 3 /* datetime */
            invokevirtual java.util.Date.getTime:()J
            lstore 4 /* msecs */
        start local 4 // long msecs
         9: .line 2038
            aload 0 /* this */
            ldc "SubSecTime"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* subSecs */
        start local 6 // java.lang.String subSecs
        10: .line 2039
            aload 6 /* subSecs */
            ifnull 18
        11: .line 2041
            aload 6 /* subSecs */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lstore 7 /* sub */
        start local 7 // long sub
        12: .line 2042
            goto 14
        13: .line 2043
      StackMap locals: long java.lang.String long
      StackMap stack:
            lload 7 /* sub */
            ldc 10
            ldiv
            lstore 7 /* sub */
        14: .line 2042
      StackMap locals:
      StackMap stack:
            lload 7 /* sub */
            ldc 1000
            lcmp
            ifgt 13
        15: .line 2045
            lload 4 /* msecs */
            lload 7 /* sub */
            ladd
            lstore 4 /* msecs */
        end local 7 // long sub
        16: .line 2046
            goto 18
      StackMap locals: android.media.ExifInterface java.lang.String java.text.ParsePosition java.util.Date long java.lang.String
      StackMap stack: java.lang.NumberFormatException
        17: pop
        18: .line 2050
      StackMap locals:
      StackMap stack:
            lload 4 /* msecs */
        19: lreturn
        end local 6 // java.lang.String subSecs
        end local 4 // long msecs
        end local 3 // java.util.Date datetime
        20: .line 2051
      StackMap locals: android.media.ExifInterface java.lang.String java.text.ParsePosition
      StackMap stack: java.lang.IllegalArgumentException
            pop
        21: .line 2052
            ldc -1
            lreturn
        end local 2 // java.text.ParsePosition pos
        end local 1 // java.lang.String dateTimeString
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Landroid/media/ExifInterface;
            1   22     1  dateTimeString  Ljava/lang/String;
            5   22     2             pos  Ljava/text/ParsePosition;
            6   20     3        datetime  Ljava/util/Date;
            9   20     4           msecs  J
           10   20     6         subSecs  Ljava/lang/String;
           12   16     7             sub  J
      Exception table:
        from    to  target  type
          11    16      17  Class java.lang.NumberFormatException
           5     7      20  Class java.lang.IllegalArgumentException
           8    19      20  Class java.lang.IllegalArgumentException

  public long getGpsDateTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 2062
            aload 0 /* this */
            ldc "GPSDateStamp"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* date */
        start local 1 // java.lang.String date
         1: .line 2063
            aload 0 /* this */
            ldc "GPSTimeStamp"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* time */
        start local 2 // java.lang.String time
         2: .line 2064
            aload 1 /* date */
            ifnull 5
            aload 2 /* time */
            ifnull 5
         3: .line 2065
            getstatic android.media.ExifInterface.sNonZeroTimePattern:Ljava/util/regex/Pattern;
            aload 1 /* date */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 6
         4: .line 2066
            getstatic android.media.ExifInterface.sNonZeroTimePattern:Ljava/util/regex/Pattern;
            aload 2 /* time */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 6
         5: .line 2067
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            ldc -1
            lreturn
         6: .line 2070
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* date */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* time */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* dateTimeString */
        start local 3 // java.lang.String dateTimeString
         7: .line 2072
            new java.text.ParsePosition
            dup
            iconst_0
            invokespecial java.text.ParsePosition.<init>:(I)V
            astore 4 /* pos */
        start local 4 // java.text.ParsePosition pos
         8: .line 2074
            getstatic android.media.ExifInterface.sFormatter:Ljava/text/SimpleDateFormat;
            aload 3 /* dateTimeString */
            aload 4 /* pos */
            invokevirtual java.text.SimpleDateFormat.parse:(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
            astore 5 /* datetime */
        start local 5 // java.util.Date datetime
         9: .line 2075
            aload 5 /* datetime */
            ifnonnull 11
        10: ldc -1
            lreturn
        11: .line 2076
      StackMap locals: java.lang.String java.text.ParsePosition java.util.Date
      StackMap stack:
            aload 5 /* datetime */
            invokevirtual java.util.Date.getTime:()J
        12: lreturn
        end local 5 // java.util.Date datetime
        13: .line 2077
      StackMap locals: android.media.ExifInterface java.lang.String java.lang.String java.lang.String java.text.ParsePosition
      StackMap stack: java.lang.IllegalArgumentException
            pop
        14: .line 2078
            ldc -1
            lreturn
        end local 4 // java.text.ParsePosition pos
        end local 3 // java.lang.String dateTimeString
        end local 2 // java.lang.String time
        end local 1 // java.lang.String date
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Landroid/media/ExifInterface;
            1   15     1            date  Ljava/lang/String;
            2   15     2            time  Ljava/lang/String;
            7   15     3  dateTimeString  Ljava/lang/String;
            8   15     4             pos  Ljava/text/ParsePosition;
            9   13     5        datetime  Ljava/util/Date;
      Exception table:
        from    to  target  type
           8    10      13  Class java.lang.IllegalArgumentException
          11    12      13  Class java.lang.IllegalArgumentException

  public static float convertRationalLatLonToFloat(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // java.lang.String rationalString
        start local 1 // java.lang.String ref
         0: .line 2085
            aload 0 /* rationalString */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* parts */
        start local 2 // java.lang.String[] parts
         1: .line 2088
            aload 2 /* parts */
            iconst_0
            aaload
            ldc "/"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* pair */
        start local 3 // java.lang.String[] pair
         2: .line 2089
            aload 3 /* pair */
            iconst_0
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
         3: .line 2090
            aload 3 /* pair */
            iconst_1
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
         4: .line 2089
            ddiv
            dstore 4 /* degrees */
        start local 4 // double degrees
         5: .line 2092
            aload 2 /* parts */
            iconst_1
            aaload
            ldc "/"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* pair */
         6: .line 2093
            aload 3 /* pair */
            iconst_0
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
         7: .line 2094
            aload 3 /* pair */
            iconst_1
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
         8: .line 2093
            ddiv
            dstore 6 /* minutes */
        start local 6 // double minutes
         9: .line 2096
            aload 2 /* parts */
            iconst_2
            aaload
            ldc "/"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* pair */
        10: .line 2097
            aload 3 /* pair */
            iconst_0
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
        11: .line 2098
            aload 3 /* pair */
            iconst_1
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
        12: .line 2097
            ddiv
            dstore 8 /* seconds */
        start local 8 // double seconds
        13: .line 2100
            dload 4 /* degrees */
            dload 6 /* minutes */
            ldc 60.0
            ddiv
            dadd
            dload 8 /* seconds */
            ldc 3600.0
            ddiv
            dadd
            dstore 10 /* result */
        start local 10 // double result
        14: .line 2101
            aload 1 /* ref */
            ldc "S"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            aload 1 /* ref */
            ldc "W"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 2102
      StackMap locals: java.lang.String java.lang.String java.lang.String[] java.lang.String[] double double double double
      StackMap stack:
            dload 10 /* result */
            dneg
            d2f
        16: freturn
        17: .line 2104
      StackMap locals:
      StackMap stack:
            dload 10 /* result */
            d2f
        18: freturn
        end local 10 // double result
        end local 8 // double seconds
        end local 6 // double minutes
        end local 4 // double degrees
        end local 3 // java.lang.String[] pair
        end local 2 // java.lang.String[] parts
        19: .line 2105
      StackMap locals: java.lang.String java.lang.String
      StackMap stack: java.lang.RuntimeException
            pop
        20: .line 2107
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 1 // java.lang.String ref
        end local 0 // java.lang.String rationalString
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0  rationalString  Ljava/lang/String;
            0   21     1             ref  Ljava/lang/String;
            1   19     2           parts  [Ljava/lang/String;
            2   19     3            pair  [Ljava/lang/String;
            5   19     4         degrees  D
            9   19     6         minutes  D
           13   19     8         seconds  D
           14   19    10          result  D
      Exception table:
        from    to  target  type
           0    16      19  Class java.lang.NumberFormatException
          17    18      19  Class java.lang.NumberFormatException
           0    16      19  Class java.lang.ArrayIndexOutOfBoundsException
          17    18      19  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
                Name  Flags
      rationalString  
      ref             

  private int getMimeType(java.io.BufferedInputStream);
    descriptor: (Ljava/io/BufferedInputStream;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.io.BufferedInputStream in
         0: .line 2113
            aload 1 /* in */
            sipush 5000
            invokevirtual java.io.BufferedInputStream.mark:(I)V
         1: .line 2114
            sipush 5000
            newarray 8
            astore 2 /* signatureCheckBytes */
        start local 2 // byte[] signatureCheckBytes
         2: .line 2115
            aload 1 /* in */
            aload 2 /* signatureCheckBytes */
            invokevirtual java.io.BufferedInputStream.read:([B)I
            pop
         3: .line 2116
            aload 1 /* in */
            invokevirtual java.io.BufferedInputStream.reset:()V
         4: .line 2117
            aload 2 /* signatureCheckBytes */
            invokestatic android.media.ExifInterface.isJpegFormat:([B)Z
            ifeq 6
         5: .line 2118
            iconst_4
            ireturn
         6: .line 2119
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* signatureCheckBytes */
            invokevirtual android.media.ExifInterface.isRafFormat:([B)Z
            ifeq 8
         7: .line 2120
            bipush 9
            ireturn
         8: .line 2121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* signatureCheckBytes */
            invokevirtual android.media.ExifInterface.isHeifFormat:([B)Z
            ifeq 10
         9: .line 2122
            bipush 12
            ireturn
        10: .line 2123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* signatureCheckBytes */
            invokevirtual android.media.ExifInterface.isOrfFormat:([B)Z
            ifeq 12
        11: .line 2124
            bipush 7
            ireturn
        12: .line 2125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* signatureCheckBytes */
            invokevirtual android.media.ExifInterface.isRw2Format:([B)Z
            ifeq 14
        13: .line 2126
            bipush 10
            ireturn
        14: .line 2129
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // byte[] signatureCheckBytes
        end local 1 // java.io.BufferedInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Landroid/media/ExifInterface;
            0   15     1                   in  Ljava/io/BufferedInputStream;
            2   15     2  signatureCheckBytes  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private static boolean isJpegFormat(byte[]);
    descriptor: ([B)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte[] signatureCheckBytes
         0: .line 2137
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 5
         2: .line 2138
      StackMap locals: int
      StackMap stack:
            aload 0 /* signatureCheckBytes */
            iload 1 /* i */
            baload
            getstatic android.media.ExifInterface.JPEG_SIGNATURE:[B
            iload 1 /* i */
            baload
            if_icmpeq 4
         3: .line 2139
            iconst_0
            ireturn
         4: .line 2137
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            getstatic android.media.ExifInterface.JPEG_SIGNATURE:[B
            arraylength
            if_icmplt 2
        end local 1 // int i
         6: .line 2142
            iconst_1
            ireturn
        end local 0 // byte[] signatureCheckBytes
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0  signatureCheckBytes  [B
            1    6     1                    i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      signatureCheckBytes  

  private boolean isRafFormat(byte[]);
    descriptor: ([B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // byte[] signatureCheckBytes
         0: .line 2152
            ldc "FUJIFILMCCD-RAW"
            invokevirtual java.lang.String.getBytes:()[B
            astore 2 /* rafSignatureBytes */
        start local 2 // byte[] rafSignatureBytes
         1: .line 2153
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 2154
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* signatureCheckBytes */
            iload 3 /* i */
            baload
            aload 2 /* rafSignatureBytes */
            iload 3 /* i */
            baload
            if_icmpeq 5
         4: .line 2155
            iconst_0
            ireturn
         5: .line 2153
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* rafSignatureBytes */
            arraylength
            if_icmplt 3
        end local 3 // int i
         7: .line 2158
            iconst_1
            ireturn
        end local 2 // byte[] rafSignatureBytes
        end local 1 // byte[] signatureCheckBytes
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Landroid/media/ExifInterface;
            0    8     1  signatureCheckBytes  [B
            1    8     2    rafSignatureBytes  [B
            2    7     3                    i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      signatureCheckBytes  

  private boolean isHeifFormat(byte[]);
    descriptor: ([B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // byte[] signatureCheckBytes
         0: .line 2162
            aconst_null
            astore 2 /* signatureInputStream */
        start local 2 // android.media.ExifInterface$ByteOrderedDataInputStream signatureInputStream
         1: .line 2164
            new android.media.ExifInterface$ByteOrderedDataInputStream
            dup
            aload 1 /* signatureCheckBytes */
            invokespecial android.media.ExifInterface$ByteOrderedDataInputStream.<init>:([B)V
            astore 2 /* signatureInputStream */
         2: .line 2165
            aload 2 /* signatureInputStream */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         3: .line 2167
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            i2l
            lstore 3 /* chunkSize */
        start local 3 // long chunkSize
         4: .line 2168
            iconst_4
            newarray 8
            astore 5 /* chunkType */
        start local 5 // byte[] chunkType
         5: .line 2169
            aload 2 /* signatureInputStream */
            aload 5 /* chunkType */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            pop
         6: .line 2171
            aload 5 /* chunkType */
            getstatic android.media.ExifInterface.HEIF_TYPE_FTYP:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 11
         7: .line 2225
            aload 2 /* signatureInputStream */
            ifnull 10
         8: .line 2226
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.close:()V
         9: .line 2227
            aconst_null
            astore 2 /* signatureInputStream */
        10: .line 2172
      StackMap locals: android.media.ExifInterface$ByteOrderedDataInputStream long byte[]
      StackMap stack:
            iconst_0
            ireturn
        11: .line 2175
      StackMap locals:
      StackMap stack:
            ldc 8
            lstore 6 /* chunkDataOffset */
        start local 6 // long chunkDataOffset
        12: .line 2176
            lload 3 /* chunkSize */
            lconst_1
            lcmp
            ifne 20
        13: .line 2179
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readLong:()J
            lstore 3 /* chunkSize */
        14: .line 2180
            lload 3 /* chunkSize */
            ldc 16
            lcmp
            ifge 19
        15: .line 2225
            aload 2 /* signatureInputStream */
            ifnull 18
        16: .line 2226
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.close:()V
        17: .line 2227
            aconst_null
            astore 2 /* signatureInputStream */
        18: .line 2182
      StackMap locals: long
      StackMap stack:
            iconst_0
            ireturn
        19: .line 2184
      StackMap locals:
      StackMap stack:
            lload 6 /* chunkDataOffset */
            ldc 8
            ladd
            lstore 6 /* chunkDataOffset */
        20: .line 2188
      StackMap locals:
      StackMap stack:
            lload 3 /* chunkSize */
            aload 1 /* signatureCheckBytes */
            arraylength
            i2l
            lcmp
            ifle 22
        21: .line 2189
            aload 1 /* signatureCheckBytes */
            arraylength
            i2l
            lstore 3 /* chunkSize */
        22: .line 2192
      StackMap locals:
      StackMap stack:
            lload 3 /* chunkSize */
            lload 6 /* chunkDataOffset */
            lsub
            lstore 8 /* chunkDataSize */
        start local 8 // long chunkDataSize
        23: .line 2196
            lload 8 /* chunkDataSize */
            ldc 8
            lcmp
            ifge 28
        24: .line 2225
            aload 2 /* signatureInputStream */
            ifnull 27
        25: .line 2226
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.close:()V
        26: .line 2227
            aconst_null
            astore 2 /* signatureInputStream */
        27: .line 2197
      StackMap locals: long
      StackMap stack:
            iconst_0
            ireturn
        28: .line 2200
      StackMap locals:
      StackMap stack:
            iconst_4
            newarray 8
            astore 10 /* brand */
        start local 10 // byte[] brand
        29: .line 2201
            iconst_0
            istore 11 /* isMif1 */
        start local 11 // boolean isMif1
        30: .line 2202
            iconst_0
            istore 12 /* isHeic */
        start local 12 // boolean isHeic
        31: .line 2203
            lconst_0
            lstore 13 /* i */
        start local 13 // long i
        32: goto 51
        33: .line 2204
      StackMap locals: android.media.ExifInterface byte[] android.media.ExifInterface$ByteOrderedDataInputStream long byte[] long long byte[] int int long
      StackMap stack:
            aload 2 /* signatureInputStream */
            aload 10 /* brand */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            aload 10 /* brand */
            arraylength
            if_icmpeq 38
        34: .line 2225
            aload 2 /* signatureInputStream */
            ifnull 37
        35: .line 2226
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.close:()V
        36: .line 2227
            aconst_null
            astore 2 /* signatureInputStream */
        37: .line 2205
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        38: .line 2207
      StackMap locals:
      StackMap stack:
            lload 13 /* i */
            lconst_1
            lcmp
            ifne 40
        39: .line 2209
            goto 50
        40: .line 2211
      StackMap locals:
      StackMap stack:
            aload 10 /* brand */
            getstatic android.media.ExifInterface.HEIF_BRAND_MIF1:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 43
        41: .line 2212
            iconst_1
            istore 11 /* isMif1 */
        42: .line 2213
            goto 45
      StackMap locals:
      StackMap stack:
        43: aload 10 /* brand */
            getstatic android.media.ExifInterface.HEIF_BRAND_HEIC:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 45
        44: .line 2214
            iconst_1
            istore 12 /* isHeic */
        45: .line 2216
      StackMap locals:
      StackMap stack:
            iload 11 /* isMif1 */
            ifeq 50
            iload 12 /* isHeic */
            ifeq 50
        46: .line 2225
            aload 2 /* signatureInputStream */
            ifnull 49
        47: .line 2226
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.close:()V
        48: .line 2227
            aconst_null
            astore 2 /* signatureInputStream */
        49: .line 2217
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        50: .line 2203
      StackMap locals:
      StackMap stack:
            lload 13 /* i */
            lconst_1
            ladd
            lstore 13 /* i */
      StackMap locals:
      StackMap stack:
        51: lload 13 /* i */
            lload 8 /* chunkDataSize */
            ldc 4
            ldiv
            lcmp
            iflt 33
        end local 13 // long i
        end local 12 // boolean isHeic
        end local 11 // boolean isMif1
        end local 10 // byte[] brand
        end local 8 // long chunkDataSize
        end local 6 // long chunkDataOffset
        end local 5 // byte[] chunkType
        end local 3 // long chunkSize
        52: .line 2220
            goto 62
      StackMap locals: android.media.ExifInterface byte[] android.media.ExifInterface$ByteOrderedDataInputStream
      StackMap stack: java.lang.Exception
        53: astore 3
        54: .line 2225
            aload 2 /* signatureInputStream */
            ifnull 65
        55: .line 2226
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.close:()V
        56: .line 2227
            aconst_null
            astore 2 /* signatureInputStream */
            goto 65
        57: .line 2224
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
        58: .line 2225
            aload 2 /* signatureInputStream */
            ifnull 61
        59: .line 2226
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.close:()V
        60: .line 2227
            aconst_null
            astore 2 /* signatureInputStream */
        61: .line 2229
      StackMap locals: android.media.ExifInterface byte[] android.media.ExifInterface$ByteOrderedDataInputStream top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        62: .line 2225
      StackMap locals: android.media.ExifInterface byte[] android.media.ExifInterface$ByteOrderedDataInputStream
      StackMap stack:
            aload 2 /* signatureInputStream */
            ifnull 65
        63: .line 2226
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.close:()V
        64: .line 2227
            aconst_null
            astore 2 /* signatureInputStream */
        65: .line 2230
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // android.media.ExifInterface$ByteOrderedDataInputStream signatureInputStream
        end local 1 // byte[] signatureCheckBytes
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   66     0                  this  Landroid/media/ExifInterface;
            0   66     1   signatureCheckBytes  [B
            1   66     2  signatureInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            4   52     3             chunkSize  J
            5   52     5             chunkType  [B
           12   52     6       chunkDataOffset  J
           23   52     8         chunkDataSize  J
           29   52    10                 brand  [B
           30   52    11                isMif1  Z
           31   52    12                isHeic  Z
           32   52    13                     i  J
      Exception table:
        from    to  target  type
           1     7      53  Class java.lang.Exception
          11    15      53  Class java.lang.Exception
          19    24      53  Class java.lang.Exception
          28    34      53  Class java.lang.Exception
          38    46      53  Class java.lang.Exception
          50    52      53  Class java.lang.Exception
           1     7      57  any
          11    15      57  any
          19    24      57  any
          28    34      57  any
          38    46      57  any
          50    54      57  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      signatureCheckBytes  

  private boolean isOrfFormat(byte[]);
    descriptor: ([B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // byte[] signatureCheckBytes
         0: .line 2243
            new android.media.ExifInterface$ByteOrderedDataInputStream
            dup
            aload 1 /* signatureCheckBytes */
            invokespecial android.media.ExifInterface$ByteOrderedDataInputStream.<init>:([B)V
         1: .line 2242
            astore 2 /* signatureInputStream */
        start local 2 // android.media.ExifInterface$ByteOrderedDataInputStream signatureInputStream
         2: .line 2245
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface.readByteOrder:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
            putfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
         3: .line 2247
            aload 2 /* signatureInputStream */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         4: .line 2249
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readShort:()S
            istore 3 /* orfSignature */
        start local 3 // short orfSignature
         5: .line 2250
            iload 3 /* orfSignature */
            sipush 20306
            if_icmpeq 6
            iload 3 /* orfSignature */
            sipush 21330
            if_icmpne 7
         6: .line 2251
      StackMap locals: android.media.ExifInterface$ByteOrderedDataInputStream int
      StackMap stack:
            iconst_1
            ireturn
         7: .line 2253
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // short orfSignature
        end local 2 // android.media.ExifInterface$ByteOrderedDataInputStream signatureInputStream
        end local 1 // byte[] signatureCheckBytes
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Landroid/media/ExifInterface;
            0    8     1   signatureCheckBytes  [B
            2    8     2  signatureInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            5    8     3          orfSignature  S
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      signatureCheckBytes  

  private boolean isRw2Format(byte[]);
    descriptor: ([B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // byte[] signatureCheckBytes
         0: .line 2262
            new android.media.ExifInterface$ByteOrderedDataInputStream
            dup
            aload 1 /* signatureCheckBytes */
            invokespecial android.media.ExifInterface$ByteOrderedDataInputStream.<init>:([B)V
         1: .line 2261
            astore 2 /* signatureInputStream */
        start local 2 // android.media.ExifInterface$ByteOrderedDataInputStream signatureInputStream
         2: .line 2264
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface.readByteOrder:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
            putfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
         3: .line 2266
            aload 2 /* signatureInputStream */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         4: .line 2268
            aload 2 /* signatureInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readShort:()S
            istore 3 /* signatureByte */
        start local 3 // short signatureByte
         5: .line 2269
            iload 3 /* signatureByte */
            bipush 85
            if_icmpne 7
         6: .line 2270
            iconst_1
            ireturn
         7: .line 2272
      StackMap locals: android.media.ExifInterface$ByteOrderedDataInputStream int
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // short signatureByte
        end local 2 // android.media.ExifInterface$ByteOrderedDataInputStream signatureInputStream
        end local 1 // byte[] signatureCheckBytes
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Landroid/media/ExifInterface;
            0    8     1   signatureCheckBytes  [B
            2    8     2  signatureInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            5    8     3         signatureByte  S
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      signatureCheckBytes  

  private void getJpegAttributes(android.media.ExifInterface$ByteOrderedDataInputStream, int, int);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        start local 2 // int jpegOffset
        start local 3 // int imageType
         0: .line 2293
            aload 1 /* in */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         1: .line 2296
            aload 1 /* in */
            iload 2 /* jpegOffset */
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
         2: .line 2297
            iload 2 /* jpegOffset */
            istore 4 /* bytesRead */
        start local 4 // int bytesRead
         3: .line 2300
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readByte:()B
            dup
            istore 5 /* marker */
        start local 5 // byte marker
         4: iconst_m1
            if_icmpeq 6
         5: .line 2301
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid marker: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* marker */
            sipush 255
            iand
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2303
      StackMap locals: int int
      StackMap stack:
            iinc 4 /* bytesRead */ 1
         7: .line 2304
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readByte:()B
            bipush -40
            if_icmpeq 9
         8: .line 2305
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid marker: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* marker */
            sipush 255
            iand
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 2307
      StackMap locals:
      StackMap stack:
            iinc 4 /* bytesRead */ 1
        10: .line 2309
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readByte:()B
            istore 5 /* marker */
        11: .line 2310
            iload 5 /* marker */
            iconst_m1
            if_icmpeq 13
        12: .line 2311
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid marker:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* marker */
            sipush 255
            iand
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 2313
      StackMap locals:
      StackMap stack:
            iinc 4 /* bytesRead */ 1
        14: .line 2314
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readByte:()B
            istore 5 /* marker */
        15: .line 2318
            iinc 4 /* bytesRead */ 1
        16: .line 2322
            iload 5 /* marker */
            bipush -39
            if_icmpeq 67
            iload 5 /* marker */
            bipush -38
            if_icmpne 18
        17: .line 2323
            goto 67
        18: .line 2325
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            iconst_2
            isub
            istore 6 /* length */
        start local 6 // int length
        19: .line 2326
            iinc 4 /* bytesRead */ 2
        20: .line 2331
            iload 6 /* length */
            ifge 22
        21: .line 2332
            new java.io.IOException
            dup
            ldc "Invalid length"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 2334
      StackMap locals: int
      StackMap stack:
            iload 5 /* marker */
            lookupswitch { // 15
                  -64: 51
                  -63: 51
                  -62: 51
                  -61: 51
                  -59: 51
                  -58: 51
                  -57: 51
                  -55: 51
                  -54: 51
                  -53: 51
                  -51: 51
                  -50: 51
                  -49: 51
                  -31: 23
                   -2: 42
              default: 61
          }
        23: .line 2339
      StackMap locals:
      StackMap stack:
            iload 6 /* length */
            bipush 6
            if_icmpge 25
        24: .line 2341
            goto 61
        25: .line 2343
      StackMap locals:
      StackMap stack:
            bipush 6
            newarray 8
            astore 7 /* identifier */
        start local 7 // byte[] identifier
        26: .line 2344
            aload 1 /* in */
            aload 7 /* identifier */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            bipush 6
            if_icmpeq 28
        27: .line 2345
            new java.io.IOException
            dup
            ldc "Invalid exif"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 2347
      StackMap locals: byte[]
      StackMap stack:
            iinc 4 /* bytesRead */ 6
        29: .line 2348
            iinc 6 /* length */ -6
        30: .line 2349
            aload 7 /* identifier */
            getstatic android.media.ExifInterface.IDENTIFIER_EXIF_APP1:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 32
        31: .line 2351
            goto 61
        32: .line 2353
      StackMap locals:
      StackMap stack:
            iload 6 /* length */
            ifgt 34
        33: .line 2354
            new java.io.IOException
            dup
            ldc "Invalid exif"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 2360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* bytesRead */
            putfield android.media.ExifInterface.mExifOffset:I
        35: .line 2362
            iload 6 /* length */
            newarray 8
            astore 8 /* bytes */
        start local 8 // byte[] bytes
        36: .line 2363
            aload 1 /* in */
            aload 8 /* bytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            iload 6 /* length */
            if_icmpeq 38
        37: .line 2364
            new java.io.IOException
            dup
            ldc "Invalid exif"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 2366
      StackMap locals: byte[]
      StackMap stack:
            iload 4 /* bytesRead */
            iload 6 /* length */
            iadd
            istore 4 /* bytesRead */
        39: .line 2367
            iconst_0
            istore 6 /* length */
        40: .line 2369
            aload 0 /* this */
            aload 8 /* bytes */
            iload 3 /* imageType */
            invokevirtual android.media.ExifInterface.readExifSegment:([BI)V
        41: .line 2370
            goto 61
        end local 8 // byte[] bytes
        end local 7 // byte[] identifier
        42: .line 2374
      StackMap locals:
      StackMap stack:
            iload 6 /* length */
            newarray 8
            astore 7 /* bytes */
        start local 7 // byte[] bytes
        43: .line 2375
            aload 1 /* in */
            aload 7 /* bytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            iload 6 /* length */
            if_icmpeq 45
        44: .line 2376
            new java.io.IOException
            dup
            ldc "Invalid exif"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 2378
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            istore 6 /* length */
        46: .line 2379
            aload 0 /* this */
            ldc "UserComment"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 61
        47: .line 2380
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "UserComment"
        48: .line 2381
            new java.lang.String
            dup
            aload 7 /* bytes */
            getstatic android.media.ExifInterface.ASCII:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
        49: .line 2380
            invokestatic android.media.ExifInterface$ExifAttribute.createString:(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        50: .line 2383
            goto 61
        end local 7 // byte[] bytes
        51: .line 2399
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iconst_1
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.skipBytes:(I)I
            iconst_1
            if_icmpeq 53
        52: .line 2400
            new java.io.IOException
            dup
            ldc "Invalid SOFx"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 2402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* imageType */
            aaload
            ldc "ImageLength"
        54: .line 2403
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
        55: .line 2402
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        56: .line 2404
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 3 /* imageType */
            aaload
            ldc "ImageWidth"
        57: .line 2405
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
        58: .line 2404
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        59: .line 2406
            iinc 6 /* length */ -5
        60: .line 2407
            goto 61
        61: .line 2414
      StackMap locals:
      StackMap stack:
            iload 6 /* length */
            ifge 63
        62: .line 2415
            new java.io.IOException
            dup
            ldc "Invalid length"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        63: .line 2417
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 6 /* length */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.skipBytes:(I)I
            iload 6 /* length */
            if_icmpeq 65
        64: .line 2418
            new java.io.IOException
            dup
            ldc "Invalid JPEG segment"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        65: .line 2420
      StackMap locals:
      StackMap stack:
            iload 4 /* bytesRead */
            iload 6 /* length */
            iadd
            istore 4 /* bytesRead */
        end local 6 // int length
        66: .line 2308
            goto 10
        67: .line 2423
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
        68: .line 2424
            return
        end local 5 // byte marker
        end local 4 // int bytesRead
        end local 3 // int imageType
        end local 2 // int jpegOffset
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   69     0        this  Landroid/media/ExifInterface;
            0   69     1          in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            0   69     2  jpegOffset  I
            0   69     3   imageType  I
            3   69     4   bytesRead  I
            4   69     5      marker  B
           19   66     6      length  I
           26   42     7  identifier  [B
           36   42     8       bytes  [B
           43   51     7       bytes  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      in          
      jpegOffset  
      imageType   

  private void getRawAttributes(android.media.ExifInterface$ByteOrderedDataInputStream);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
         0: .line 2428
            aload 0 /* this */
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.available:()I
            invokevirtual android.media.ExifInterface.parseTiffHeaders:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
         1: .line 2431
            aload 0 /* this */
            aload 1 /* in */
            iconst_0
            invokevirtual android.media.ExifInterface.readImageFileDirectory:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
         2: .line 2434
            aload 0 /* this */
            aload 1 /* in */
            iconst_0
            invokevirtual android.media.ExifInterface.updateImageSizeValues:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
         3: .line 2435
            aload 0 /* this */
            aload 1 /* in */
            iconst_5
            invokevirtual android.media.ExifInterface.updateImageSizeValues:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
         4: .line 2436
            aload 0 /* this */
            aload 1 /* in */
            iconst_4
            invokevirtual android.media.ExifInterface.updateImageSizeValues:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
         5: .line 2439
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual android.media.ExifInterface.validateImages:(Ljava/io/InputStream;)V
         6: .line 2441
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            bipush 8
            if_icmpne 19
         7: .line 2445
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "MakerNote"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         8: .line 2444
            astore 2 /* makerNoteAttribute */
        start local 2 // android.media.ExifInterface$ExifAttribute makerNoteAttribute
         9: .line 2446
            aload 2 /* makerNoteAttribute */
            ifnull 19
        10: .line 2449
            new android.media.ExifInterface$ByteOrderedDataInputStream
            dup
            aload 2 /* makerNoteAttribute */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            invokespecial android.media.ExifInterface$ByteOrderedDataInputStream.<init>:([B)V
        11: .line 2448
            astore 3 /* makerNoteDataInputStream */
        start local 3 // android.media.ExifInterface$ByteOrderedDataInputStream makerNoteDataInputStream
        12: .line 2450
            aload 3 /* makerNoteDataInputStream */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
        13: .line 2453
            aload 3 /* makerNoteDataInputStream */
            ldc 6
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        14: .line 2456
            aload 0 /* this */
            aload 3 /* makerNoteDataInputStream */
            bipush 9
            invokevirtual android.media.ExifInterface.readImageFileDirectory:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
        15: .line 2460
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            bipush 9
            aaload
            ldc "ColorSpace"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
        16: .line 2459
            astore 4 /* colorSpaceAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute colorSpaceAttribute
        17: .line 2461
            aload 4 /* colorSpaceAttribute */
            ifnull 19
        18: .line 2462
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "ColorSpace"
            aload 4 /* colorSpaceAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // android.media.ExifInterface$ExifAttribute colorSpaceAttribute
        end local 3 // android.media.ExifInterface$ByteOrderedDataInputStream makerNoteDataInputStream
        end local 2 // android.media.ExifInterface$ExifAttribute makerNoteAttribute
        19: .line 2466
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   20     0                      this  Landroid/media/ExifInterface;
            0   20     1                        in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            9   19     2        makerNoteAttribute  Landroid/media/ExifInterface$ExifAttribute;
           12   19     3  makerNoteDataInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
           17   19     4       colorSpaceAttribute  Landroid/media/ExifInterface$ExifAttribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private void getRafAttributes(android.media.ExifInterface$ByteOrderedDataInputStream);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
         0: .line 2479
            aload 1 /* in */
            bipush 84
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.skipBytes:(I)I
            pop
         1: .line 2480
            iconst_4
            newarray 8
            astore 2 /* jpegOffsetBytes */
        start local 2 // byte[] jpegOffsetBytes
         2: .line 2481
            iconst_4
            newarray 8
            astore 3 /* cfaHeaderOffsetBytes */
        start local 3 // byte[] cfaHeaderOffsetBytes
         3: .line 2482
            aload 1 /* in */
            aload 2 /* jpegOffsetBytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            pop
         4: .line 2484
            aload 1 /* in */
            iconst_4
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.skipBytes:(I)I
            pop
         5: .line 2485
            aload 1 /* in */
            aload 3 /* cfaHeaderOffsetBytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            pop
         6: .line 2486
            aload 2 /* jpegOffsetBytes */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 4 /* rafJpegOffset */
        start local 4 // int rafJpegOffset
         7: .line 2487
            aload 3 /* cfaHeaderOffsetBytes */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 5 /* rafCfaHeaderOffset */
        start local 5 // int rafCfaHeaderOffset
         8: .line 2490
            aload 0 /* this */
            aload 1 /* in */
            iload 4 /* rafJpegOffset */
            iconst_5
            invokevirtual android.media.ExifInterface.getJpegAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;II)V
         9: .line 2493
            aload 1 /* in */
            iload 5 /* rafCfaHeaderOffset */
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        10: .line 2496
            aload 1 /* in */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
        11: .line 2497
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            istore 6 /* numberOfDirectoryEntry */
        start local 6 // int numberOfDirectoryEntry
        12: .line 2504
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        13: goto 28
        14: .line 2505
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream byte[] byte[] int int int int
      StackMap stack:
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            istore 8 /* tagNumber */
        start local 8 // int tagNumber
        15: .line 2506
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            istore 9 /* numberOfBytes */
        start local 9 // int numberOfBytes
        16: .line 2507
            iload 8 /* tagNumber */
            getstatic android.media.ExifInterface.TAG_RAF_IMAGE_SIZE:Landroid/media/ExifInterface$ExifTag;
            getfield android.media.ExifInterface$ExifTag.number:I
            if_icmpne 26
        17: .line 2508
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readShort:()S
            istore 10 /* imageLength */
        start local 10 // int imageLength
        18: .line 2509
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readShort:()S
            istore 11 /* imageWidth */
        start local 11 // int imageWidth
        19: .line 2511
            iload 10 /* imageLength */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        20: .line 2510
            astore 12 /* imageLengthAttribute */
        start local 12 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        21: .line 2513
            iload 11 /* imageWidth */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        22: .line 2512
            astore 13 /* imageWidthAttribute */
        start local 13 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
        23: .line 2514
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageLength"
            aload 12 /* imageLengthAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 2515
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageWidth"
            aload 13 /* imageWidthAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 2519
            return
        end local 13 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
        end local 12 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        end local 11 // int imageWidth
        end local 10 // int imageLength
        26: .line 2521
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            iload 9 /* numberOfBytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.skipBytes:(I)I
            pop
        end local 9 // int numberOfBytes
        end local 8 // int tagNumber
        27: .line 2504
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 7 /* i */
            iload 6 /* numberOfDirectoryEntry */
            if_icmplt 14
        end local 7 // int i
        29: .line 2523
            return
        end local 6 // int numberOfDirectoryEntry
        end local 5 // int rafCfaHeaderOffset
        end local 4 // int rafJpegOffset
        end local 3 // byte[] cfaHeaderOffsetBytes
        end local 2 // byte[] jpegOffsetBytes
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   30     0                    this  Landroid/media/ExifInterface;
            0   30     1                      in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            2   30     2         jpegOffsetBytes  [B
            3   30     3    cfaHeaderOffsetBytes  [B
            7   30     4           rafJpegOffset  I
            8   30     5      rafCfaHeaderOffset  I
           12   30     6  numberOfDirectoryEntry  I
           13   29     7                       i  I
           15   27     8               tagNumber  I
           16   27     9           numberOfBytes  I
           18   26    10             imageLength  I
           19   26    11              imageWidth  I
           21   26    12    imageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           23   26    13     imageWidthAttribute  Landroid/media/ExifInterface$ExifAttribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private void getHeifAttributes(android.media.ExifInterface$ByteOrderedDataInputStream);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
         0: .line 2526
            new android.media.MediaMetadataRetriever
            dup
            invokespecial android.media.MediaMetadataRetriever.<init>:()V
            astore 2 /* retriever */
        start local 2 // android.media.MediaMetadataRetriever retriever
         1: .line 2528
            aload 2 /* retriever */
            new android.media.ExifInterface$1
            dup
            aload 0 /* this */
            aload 1 /* in */
            invokespecial android.media.ExifInterface$1.<init>:(Landroid/media/ExifInterface;Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
            invokevirtual android.media.MediaMetadataRetriever.setDataSource:(Landroid/media/MediaDataSource;)V
         2: .line 2565
            aload 2 /* retriever */
         3: .line 2566
            bipush 33
         4: .line 2565
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 3 /* exifOffsetStr */
        start local 3 // java.lang.String exifOffsetStr
         5: .line 2567
            aload 2 /* retriever */
         6: .line 2568
            bipush 34
         7: .line 2567
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 4 /* exifLengthStr */
        start local 4 // java.lang.String exifLengthStr
         8: .line 2569
            aload 2 /* retriever */
         9: .line 2570
            bipush 26
        10: .line 2569
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 5 /* hasImage */
        start local 5 // java.lang.String hasImage
        11: .line 2571
            aload 2 /* retriever */
        12: .line 2572
            bipush 17
        13: .line 2571
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 6 /* hasVideo */
        start local 6 // java.lang.String hasVideo
        14: .line 2574
            aconst_null
            astore 7 /* width */
        start local 7 // java.lang.String width
        15: .line 2575
            aconst_null
            astore 8 /* height */
        start local 8 // java.lang.String height
        16: .line 2576
            aconst_null
            astore 9 /* rotation */
        start local 9 // java.lang.String rotation
        17: .line 2581
            ldc "yes"
            aload 5 /* hasImage */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        18: .line 2582
            aload 2 /* retriever */
        19: .line 2583
            bipush 29
        20: .line 2582
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 7 /* width */
        21: .line 2584
            aload 2 /* retriever */
        22: .line 2585
            bipush 30
        23: .line 2584
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 8 /* height */
        24: .line 2586
            aload 2 /* retriever */
        25: .line 2587
            bipush 31
        26: .line 2586
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 9 /* rotation */
        27: .line 2588
            goto 38
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream android.media.MediaMetadataRetriever java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
        28: ldc "yes"
            aload 6 /* hasVideo */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        29: .line 2589
            aload 2 /* retriever */
        30: .line 2590
            bipush 18
        31: .line 2589
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 7 /* width */
        32: .line 2591
            aload 2 /* retriever */
        33: .line 2592
            bipush 19
        34: .line 2591
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 8 /* height */
        35: .line 2593
            aload 2 /* retriever */
        36: .line 2594
            bipush 24
        37: .line 2593
            invokevirtual android.media.MediaMetadataRetriever.extractMetadata:(I)Ljava/lang/String;
            astore 9 /* rotation */
        38: .line 2597
      StackMap locals:
      StackMap stack:
            aload 7 /* width */
            ifnull 42
        39: .line 2598
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageWidth"
        40: .line 2599
            aload 7 /* width */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        41: .line 2598
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 2602
      StackMap locals:
      StackMap stack:
            aload 8 /* height */
            ifnull 46
        43: .line 2603
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageLength"
        44: .line 2604
            aload 8 /* height */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        45: .line 2603
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 2607
      StackMap locals:
      StackMap stack:
            aload 9 /* rotation */
            ifnull 57
        47: .line 2608
            iconst_1
            istore 10 /* orientation */
        start local 10 // int orientation
        48: .line 2611
            aload 9 /* rotation */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            lookupswitch { // 3
                   90: 49
                  180: 51
                  270: 53
              default: 54
          }
        49: .line 2613
      StackMap locals: int
      StackMap stack:
            bipush 6
            istore 10 /* orientation */
        50: .line 2614
            goto 54
        51: .line 2616
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 10 /* orientation */
        52: .line 2617
            goto 54
        53: .line 2619
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 10 /* orientation */
        54: .line 2623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "Orientation"
        55: .line 2624
            iload 10 /* orientation */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        56: .line 2623
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // int orientation
        57: .line 2627
      StackMap locals:
      StackMap stack:
            aload 3 /* exifOffsetStr */
            ifnull 78
            aload 4 /* exifLengthStr */
            ifnull 78
        58: .line 2628
            aload 3 /* exifOffsetStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 10 /* offset */
        start local 10 // int offset
        59: .line 2629
            aload 4 /* exifLengthStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 11 /* length */
        start local 11 // int length
        60: .line 2630
            iload 11 /* length */
            bipush 6
            if_icmpgt 62
        61: .line 2631
            new java.io.IOException
            dup
            ldc "Invalid exif length"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 2633
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            iload 10 /* offset */
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        63: .line 2634
            bipush 6
            newarray 8
            astore 12 /* identifier */
        start local 12 // byte[] identifier
        64: .line 2635
            aload 1 /* in */
            aload 12 /* identifier */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            bipush 6
            if_icmpeq 66
        65: .line 2636
            new java.io.IOException
            dup
            ldc "Can't read identifier"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        66: .line 2638
      StackMap locals: byte[]
      StackMap stack:
            iinc 10 /* offset */ 6
        67: .line 2639
            iinc 11 /* length */ -6
        68: .line 2640
            aload 12 /* identifier */
            getstatic android.media.ExifInterface.IDENTIFIER_EXIF_APP1:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 70
        69: .line 2641
            new java.io.IOException
            dup
            ldc "Invalid identifier"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        70: .line 2644
      StackMap locals:
      StackMap stack:
            iload 11 /* length */
            newarray 8
            astore 13 /* bytes */
        start local 13 // byte[] bytes
        71: .line 2645
            aload 1 /* in */
            aload 13 /* bytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            iload 11 /* length */
            if_icmpeq 73
        72: .line 2646
            new java.io.IOException
            dup
            ldc "Can't read exif"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        73: .line 2648
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            aload 13 /* bytes */
            iconst_0
            invokevirtual android.media.ExifInterface.readExifSegment:([BI)V
        end local 13 // byte[] bytes
        end local 12 // byte[] identifier
        end local 11 // int length
        end local 10 // int offset
        end local 9 // java.lang.String rotation
        end local 8 // java.lang.String height
        end local 7 // java.lang.String width
        end local 6 // java.lang.String hasVideo
        end local 5 // java.lang.String hasImage
        end local 4 // java.lang.String exifLengthStr
        end local 3 // java.lang.String exifOffsetStr
        74: .line 2654
            goto 78
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream android.media.MediaMetadataRetriever
      StackMap stack: java.lang.Throwable
        75: astore 14
        76: .line 2655
            aload 2 /* retriever */
            invokevirtual android.media.MediaMetadataRetriever.release:()V
        77: .line 2656
            aload 14
            athrow
        78: .line 2655
      StackMap locals:
      StackMap stack:
            aload 2 /* retriever */
            invokevirtual android.media.MediaMetadataRetriever.release:()V
        79: .line 2657
            return
        end local 2 // android.media.MediaMetadataRetriever retriever
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   80     0           this  Landroid/media/ExifInterface;
            0   80     1             in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            1   80     2      retriever  Landroid/media/MediaMetadataRetriever;
            5   74     3  exifOffsetStr  Ljava/lang/String;
            8   74     4  exifLengthStr  Ljava/lang/String;
           11   74     5       hasImage  Ljava/lang/String;
           14   74     6       hasVideo  Ljava/lang/String;
           15   74     7          width  Ljava/lang/String;
           16   74     8         height  Ljava/lang/String;
           17   74     9       rotation  Ljava/lang/String;
           48   57    10    orientation  I
           59   74    10         offset  I
           60   74    11         length  I
           64   74    12     identifier  [B
           71   74    13          bytes  [B
      Exception table:
        from    to  target  type
           1    75      75  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private void getOrfAttributes(android.media.ExifInterface$ByteOrderedDataInputStream);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=14, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
         0: .line 2672
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual android.media.ExifInterface.getRawAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
         1: .line 2678
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "MakerNote"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         2: .line 2677
            astore 2 /* makerNoteAttribute */
        start local 2 // android.media.ExifInterface$ExifAttribute makerNoteAttribute
         3: .line 2679
            aload 2 /* makerNoteAttribute */
            ifnull 48
         4: .line 2682
            new android.media.ExifInterface$ByteOrderedDataInputStream
            dup
            aload 2 /* makerNoteAttribute */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            invokespecial android.media.ExifInterface$ByteOrderedDataInputStream.<init>:([B)V
         5: .line 2681
            astore 3 /* makerNoteDataInputStream */
        start local 3 // android.media.ExifInterface$ByteOrderedDataInputStream makerNoteDataInputStream
         6: .line 2683
            aload 3 /* makerNoteDataInputStream */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         7: .line 2687
            getstatic android.media.ExifInterface.ORF_MAKER_NOTE_HEADER_1:[B
            arraylength
            newarray 8
            astore 4 /* makerNoteHeader1Bytes */
        start local 4 // byte[] makerNoteHeader1Bytes
         8: .line 2688
            aload 3 /* makerNoteDataInputStream */
            aload 4 /* makerNoteHeader1Bytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readFully:([B)V
         9: .line 2689
            aload 3 /* makerNoteDataInputStream */
            lconst_0
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        10: .line 2690
            getstatic android.media.ExifInterface.ORF_MAKER_NOTE_HEADER_2:[B
            arraylength
            newarray 8
            astore 5 /* makerNoteHeader2Bytes */
        start local 5 // byte[] makerNoteHeader2Bytes
        11: .line 2691
            aload 3 /* makerNoteDataInputStream */
            aload 5 /* makerNoteHeader2Bytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readFully:([B)V
        12: .line 2693
            aload 4 /* makerNoteHeader1Bytes */
            getstatic android.media.ExifInterface.ORF_MAKER_NOTE_HEADER_1:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 15
        13: .line 2694
            aload 3 /* makerNoteDataInputStream */
            ldc 8
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        14: .line 2695
            goto 17
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ByteOrderedDataInputStream byte[] byte[]
      StackMap stack:
        15: aload 5 /* makerNoteHeader2Bytes */
            getstatic android.media.ExifInterface.ORF_MAKER_NOTE_HEADER_2:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 17
        16: .line 2696
            aload 3 /* makerNoteDataInputStream */
            ldc 12
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        17: .line 2700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* makerNoteDataInputStream */
            bipush 6
            invokevirtual android.media.ExifInterface.readImageFileDirectory:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
        18: .line 2704
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            bipush 7
            aaload
            ldc "PreviewImageStart"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
        19: .line 2703
            astore 6 /* imageLengthAttribute */
        start local 6 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        20: .line 2706
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            bipush 7
            aaload
            ldc "PreviewImageLength"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
        21: .line 2705
            astore 7 /* bitsPerSampleAttribute */
        start local 7 // android.media.ExifInterface$ExifAttribute bitsPerSampleAttribute
        22: .line 2708
            aload 6 /* imageLengthAttribute */
            ifnull 29
            aload 7 /* bitsPerSampleAttribute */
            ifnull 29
        23: .line 2709
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_5
            aaload
            ldc "JPEGInterchangeFormat"
        24: .line 2710
            aload 6 /* imageLengthAttribute */
        25: .line 2709
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 2711
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_5
            aaload
            ldc "JPEGInterchangeFormatLength"
        27: .line 2712
            aload 7 /* bitsPerSampleAttribute */
        28: .line 2711
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 2719
      StackMap locals: android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            bipush 8
            aaload
            ldc "AspectFrame"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
        30: .line 2718
            astore 8 /* aspectFrameAttribute */
        start local 8 // android.media.ExifInterface$ExifAttribute aspectFrameAttribute
        31: .line 2720
            aload 8 /* aspectFrameAttribute */
            ifnull 48
        32: .line 2721
            iconst_4
            newarray 10
            astore 9 /* aspectFrameValues */
        start local 9 // int[] aspectFrameValues
        33: .line 2722
            aload 8 /* aspectFrameAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            checkcast int[]
            astore 9 /* aspectFrameValues */
        34: .line 2723
            aload 9 /* aspectFrameValues */
            iconst_2
            iaload
            aload 9 /* aspectFrameValues */
            iconst_0
            iaload
            if_icmple 48
        35: .line 2724
            aload 9 /* aspectFrameValues */
            iconst_3
            iaload
            aload 9 /* aspectFrameValues */
            iconst_1
            iaload
            if_icmple 48
        36: .line 2725
            aload 9 /* aspectFrameValues */
            iconst_2
            iaload
            aload 9 /* aspectFrameValues */
            iconst_0
            iaload
            isub
            iconst_1
            iadd
            istore 10 /* primaryImageWidth */
        start local 10 // int primaryImageWidth
        37: .line 2726
            aload 9 /* aspectFrameValues */
            iconst_3
            iaload
            aload 9 /* aspectFrameValues */
            iconst_1
            iaload
            isub
            iconst_1
            iadd
            istore 11 /* primaryImageLength */
        start local 11 // int primaryImageLength
        38: .line 2728
            iload 10 /* primaryImageWidth */
            iload 11 /* primaryImageLength */
            if_icmpge 42
        39: .line 2729
            iload 10 /* primaryImageWidth */
            iload 11 /* primaryImageLength */
            iadd
            istore 10 /* primaryImageWidth */
        40: .line 2730
            iload 10 /* primaryImageWidth */
            iload 11 /* primaryImageLength */
            isub
            istore 11 /* primaryImageLength */
        41: .line 2731
            iload 10 /* primaryImageWidth */
            iload 11 /* primaryImageLength */
            isub
            istore 10 /* primaryImageWidth */
        42: .line 2734
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ByteOrderedDataInputStream byte[] byte[] android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute int[] int int
      StackMap stack:
            iload 10 /* primaryImageWidth */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        43: .line 2733
            astore 12 /* primaryImageWidthAttribute */
        start local 12 // android.media.ExifInterface$ExifAttribute primaryImageWidthAttribute
        44: .line 2736
            iload 11 /* primaryImageLength */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        45: .line 2735
            astore 13 /* primaryImageLengthAttribute */
        start local 13 // android.media.ExifInterface$ExifAttribute primaryImageLengthAttribute
        46: .line 2738
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageWidth"
            aload 12 /* primaryImageWidthAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 2739
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageLength"
            aload 13 /* primaryImageLengthAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // android.media.ExifInterface$ExifAttribute primaryImageLengthAttribute
        end local 12 // android.media.ExifInterface$ExifAttribute primaryImageWidthAttribute
        end local 11 // int primaryImageLength
        end local 10 // int primaryImageWidth
        end local 9 // int[] aspectFrameValues
        end local 8 // android.media.ExifInterface$ExifAttribute aspectFrameAttribute
        end local 7 // android.media.ExifInterface$ExifAttribute bitsPerSampleAttribute
        end local 6 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        end local 5 // byte[] makerNoteHeader2Bytes
        end local 4 // byte[] makerNoteHeader1Bytes
        end local 3 // android.media.ExifInterface$ByteOrderedDataInputStream makerNoteDataInputStream
        48: .line 2743
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream android.media.ExifInterface$ExifAttribute
      StackMap stack:
            return
        end local 2 // android.media.ExifInterface$ExifAttribute makerNoteAttribute
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   49     0                         this  Landroid/media/ExifInterface;
            0   49     1                           in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            3   49     2           makerNoteAttribute  Landroid/media/ExifInterface$ExifAttribute;
            6   48     3     makerNoteDataInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            8   48     4        makerNoteHeader1Bytes  [B
           11   48     5        makerNoteHeader2Bytes  [B
           20   48     6         imageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           22   48     7       bitsPerSampleAttribute  Landroid/media/ExifInterface$ExifAttribute;
           31   48     8         aspectFrameAttribute  Landroid/media/ExifInterface$ExifAttribute;
           33   48     9            aspectFrameValues  [I
           37   48    10            primaryImageWidth  I
           38   48    11           primaryImageLength  I
           44   48    12   primaryImageWidthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           46   48    13  primaryImageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private void getRw2Attributes(android.media.ExifInterface$ByteOrderedDataInputStream);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
         0: .line 2750
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual android.media.ExifInterface.getRawAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
         1: .line 2754
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "JpgFromRaw"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         2: .line 2753
            astore 2 /* jpgFromRawAttribute */
        start local 2 // android.media.ExifInterface$ExifAttribute jpgFromRawAttribute
         3: .line 2755
            aload 2 /* jpgFromRawAttribute */
            ifnull 5
         4: .line 2756
            aload 0 /* this */
            aload 1 /* in */
            aload 0 /* this */
            getfield android.media.ExifInterface.mRw2JpgFromRawOffset:I
            iconst_5
            invokevirtual android.media.ExifInterface.getJpegAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;II)V
         5: .line 2761
      StackMap locals: android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ISO"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         6: .line 2760
            astore 3 /* rw2IsoAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute rw2IsoAttribute
         7: .line 2763
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "ISOSpeedRatings"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         8: .line 2762
            astore 4 /* exifIsoAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute exifIsoAttribute
         9: .line 2764
            aload 3 /* rw2IsoAttribute */
            ifnull 11
            aload 4 /* exifIsoAttribute */
            ifnonnull 11
        10: .line 2766
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "ISOSpeedRatings"
            aload 3 /* rw2IsoAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 2768
      StackMap locals: android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
            return
        end local 4 // android.media.ExifInterface$ExifAttribute exifIsoAttribute
        end local 3 // android.media.ExifInterface$ExifAttribute rw2IsoAttribute
        end local 2 // android.media.ExifInterface$ExifAttribute jpgFromRawAttribute
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Landroid/media/ExifInterface;
            0   12     1                   in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            3   12     2  jpgFromRawAttribute  Landroid/media/ExifInterface$ExifAttribute;
            7   12     3      rw2IsoAttribute  Landroid/media/ExifInterface$ExifAttribute;
            9   12     4     exifIsoAttribute  Landroid/media/ExifInterface$ExifAttribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private void saveJpegAttributes(java.io.InputStream, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.ExifInterface this
         0: .line 2843
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tStreams cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ExifInterface;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      inputStream   
      outputStream  

  private void readExifSegment(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // byte[] exifBytes
        start local 2 // int imageType
         0: .line 2871
            new android.media.ExifInterface$ByteOrderedDataInputStream
            dup
            aload 1 /* exifBytes */
            invokespecial android.media.ExifInterface$ByteOrderedDataInputStream.<init>:([B)V
         1: .line 2870
            astore 3 /* dataInputStream */
        start local 3 // android.media.ExifInterface$ByteOrderedDataInputStream dataInputStream
         2: .line 2874
            aload 0 /* this */
            aload 3 /* dataInputStream */
            aload 1 /* exifBytes */
            arraylength
            invokevirtual android.media.ExifInterface.parseTiffHeaders:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
         3: .line 2877
            aload 0 /* this */
            aload 3 /* dataInputStream */
            iload 2 /* imageType */
            invokevirtual android.media.ExifInterface.readImageFileDirectory:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
         4: .line 2878
            return
        end local 3 // android.media.ExifInterface$ByteOrderedDataInputStream dataInputStream
        end local 2 // int imageType
        end local 1 // byte[] exifBytes
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Landroid/media/ExifInterface;
            0    5     1        exifBytes  [B
            0    5     2        imageType  I
            2    5     3  dataInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      exifBytes  
      imageType  

  private void addDefaultValuesForCompatibility();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // android.media.ExifInterface this
         0: .line 2882
            aload 0 /* this */
            ldc "DateTimeOriginal"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* valueOfDateTimeOriginal */
        start local 1 // java.lang.String valueOfDateTimeOriginal
         1: .line 2883
            aload 1 /* valueOfDateTimeOriginal */
            ifnull 5
            aload 0 /* this */
            ldc "DateTime"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 5
         2: .line 2884
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "DateTime"
         3: .line 2885
            aload 1 /* valueOfDateTimeOriginal */
            invokestatic android.media.ExifInterface$ExifAttribute.createString:(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
         4: .line 2884
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 2889
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "ImageWidth"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 9
         6: .line 2890
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageWidth"
         7: .line 2891
            lconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
         8: .line 2890
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 2893
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "ImageLength"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 13
        10: .line 2894
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageLength"
        11: .line 2895
            lconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        12: .line 2894
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 2897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Orientation"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 17
        14: .line 2898
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "Orientation"
        15: .line 2899
            iconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        16: .line 2898
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 2901
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "LightSource"
            invokevirtual android.media.ExifInterface.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 21
        18: .line 2902
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "LightSource"
        19: .line 2903
            lconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        20: .line 2902
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 2905
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String valueOfDateTimeOriginal
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   22     0                     this  Landroid/media/ExifInterface;
            1   22     1  valueOfDateTimeOriginal  Ljava/lang/String;

  private java.nio.ByteOrder readByteOrder(android.media.ExifInterface$ByteOrderedDataInputStream);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream dataInputStream
         0: .line 2910
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readShort:()S
            istore 2 /* byteOrder */
        start local 2 // short byteOrder
         1: .line 2911
            iload 2 /* byteOrder */
            lookupswitch { // 2
                18761: 2
                19789: 3
              default: 4
          }
         2: .line 2916
      StackMap locals: int
      StackMap stack:
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            areturn
         3: .line 2921
      StackMap locals:
      StackMap stack:
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            areturn
         4: .line 2923
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid byte order: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* byteOrder */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // short byteOrder
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream dataInputStream
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Landroid/media/ExifInterface;
            0    5     1  dataInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            1    5     2        byteOrder  S
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      dataInputStream  

  private void parseTiffHeaders(android.media.ExifInterface$ByteOrderedDataInputStream, int);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream dataInputStream
        start local 2 // int exifBytesLength
         0: .line 2930
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface.readByteOrder:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
            putfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
         1: .line 2932
            aload 1 /* dataInputStream */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         2: .line 2935
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            istore 3 /* startCode */
        start local 3 // int startCode
         3: .line 2936
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            bipush 7
            if_icmpeq 5
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            bipush 10
            if_icmpeq 5
            iload 3 /* startCode */
            bipush 42
            if_icmpeq 5
         4: .line 2937
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid start code: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* startCode */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2941
      StackMap locals: int
      StackMap stack:
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            istore 4 /* firstIfdOffset */
        start local 4 // int firstIfdOffset
         6: .line 2942
            iload 4 /* firstIfdOffset */
            bipush 8
            if_icmplt 7
            iload 4 /* firstIfdOffset */
            iload 2 /* exifBytesLength */
            if_icmplt 8
         7: .line 2943
      StackMap locals: int
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid first Ifd offset: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* firstIfdOffset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2945
      StackMap locals:
      StackMap stack:
            iinc 4 /* firstIfdOffset */ -8
         9: .line 2946
            iload 4 /* firstIfdOffset */
            ifle 12
        10: .line 2947
            aload 1 /* dataInputStream */
            iload 4 /* firstIfdOffset */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.skipBytes:(I)I
            iload 4 /* firstIfdOffset */
            if_icmpeq 12
        11: .line 2948
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Couldn't jump to first Ifd: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* firstIfdOffset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 2951
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int firstIfdOffset
        end local 3 // int startCode
        end local 2 // int exifBytesLength
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream dataInputStream
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Landroid/media/ExifInterface;
            0   13     1  dataInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            0   13     2  exifBytesLength  I
            3   13     3        startCode  I
            6   13     4   firstIfdOffset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      dataInputStream  
      exifBytesLength  

  private void readImageFileDirectory(android.media.ExifInterface$ByteOrderedDataInputStream, int);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=18, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream dataInputStream
        start local 2 // int ifdType
         0: .line 2956
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mPosition:I
            iconst_2
            iadd
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mLength:I
            if_icmple 2
         1: .line 2958
            return
         2: .line 2961
      StackMap locals:
      StackMap stack:
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readShort:()S
            istore 3 /* numberOfDirectoryEntry */
        start local 3 // short numberOfDirectoryEntry
         3: .line 2962
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mPosition:I
            bipush 12
            iload 3 /* numberOfDirectoryEntry */
            imul
            iadd
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mLength:I
            if_icmpgt 5
         4: .line 2963
            iload 3 /* numberOfDirectoryEntry */
            ifgt 6
         5: .line 2965
      StackMap locals: int
      StackMap stack:
            return
         6: .line 2973
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // short i
         7: goto 103
         8: .line 2974
      StackMap locals: int
      StackMap stack:
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            istore 5 /* tagNumber */
        start local 5 // int tagNumber
         9: .line 2975
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            istore 6 /* dataFormat */
        start local 6 // int dataFormat
        10: .line 2976
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            istore 7 /* numberOfComponents */
        start local 7 // int numberOfComponents
        11: .line 2978
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.peek:()I
            iconst_4
            iadd
            i2l
            lstore 8 /* nextEntryOffset */
        start local 8 // long nextEntryOffset
        12: .line 2981
            getstatic android.media.ExifInterface.sExifTagMapsForReading:[Ljava/util/HashMap;
            iload 2 /* ifdType */
            aaload
            iload 5 /* tagNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifTag
            astore 10 /* tag */
        start local 10 // android.media.ExifInterface$ExifTag tag
        13: .line 2989
            lconst_0
            lstore 11 /* byteCount */
        start local 11 // long byteCount
        14: .line 2990
            iconst_0
            istore 13 /* valid */
        start local 13 // boolean valid
        15: .line 2991
            aload 10 /* tag */
            ifnonnull 18
        16: .line 2992
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Skip the tag entry since tag number is not defined: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* tagNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        17: .line 2993
            goto 28
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream int int int int int int long android.media.ExifInterface$ExifTag long int
      StackMap stack:
        18: iload 6 /* dataFormat */
            ifle 19
            iload 6 /* dataFormat */
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            arraylength
            if_icmplt 21
        19: .line 2994
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Skip the tag entry since data format is invalid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* dataFormat */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        20: .line 2995
            goto 28
        21: .line 2996
      StackMap locals:
      StackMap stack:
            iload 7 /* numberOfComponents */
            i2l
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            iload 6 /* dataFormat */
            iaload
            i2l
            lmul
            lstore 11 /* byteCount */
        22: .line 2997
            lload 11 /* byteCount */
            lconst_0
            lcmp
            iflt 23
            lload 11 /* byteCount */
            ldc 2147483647
            lcmp
            ifle 27
        23: .line 2998
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Skip the tag entry since the number of components is invalid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 2999
            iload 7 /* numberOfComponents */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 2998
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        26: .line 3000
            goto 28
        27: .line 3001
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 13 /* valid */
        28: .line 3004
      StackMap locals:
      StackMap stack:
            iload 13 /* valid */
            ifne 31
        29: .line 3005
            aload 1 /* dataInputStream */
            lload 8 /* nextEntryOffset */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        30: .line 3006
            goto 102
        31: .line 3011
      StackMap locals:
      StackMap stack:
            lload 11 /* byteCount */
            ldc 4
            lcmp
            ifle 64
        32: .line 3012
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            istore 14 /* offset */
        start local 14 // int offset
        33: .line 3016
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            bipush 7
            if_icmpne 55
        34: .line 3017
            aload 10 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            ldc "MakerNote"
            if_acmpne 37
        35: .line 3019
            aload 0 /* this */
            iload 14 /* offset */
            putfield android.media.ExifInterface.mOrfMakerNoteOffset:I
        36: .line 3020
            goto 58
      StackMap locals: int
      StackMap stack:
        37: iload 2 /* ifdType */
            bipush 6
            if_icmpne 58
        38: .line 3021
            aload 10 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            ldc "ThumbnailImage"
            if_acmpne 58
        39: .line 3023
            aload 0 /* this */
            iload 14 /* offset */
            putfield android.media.ExifInterface.mOrfThumbnailOffset:I
        40: .line 3024
            aload 0 /* this */
            iload 7 /* numberOfComponents */
            putfield android.media.ExifInterface.mOrfThumbnailLength:I
        41: .line 3027
            bipush 6
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        42: .line 3026
            astore 15 /* compressionAttribute */
        start local 15 // android.media.ExifInterface$ExifAttribute compressionAttribute
        43: .line 3029
            aload 0 /* this */
            getfield android.media.ExifInterface.mOrfThumbnailOffset:I
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        44: .line 3028
            astore 16 /* jpegInterchangeFormatAttribute */
        start local 16 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatAttribute
        45: .line 3031
            aload 0 /* this */
            getfield android.media.ExifInterface.mOrfThumbnailLength:I
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        46: .line 3030
            astore 17 /* jpegInterchangeFormatLengthAttribute */
        start local 17 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatLengthAttribute
        47: .line 3033
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            ldc "Compression"
            aload 15 /* compressionAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        48: .line 3034
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            ldc "JPEGInterchangeFormat"
        49: .line 3035
            aload 16 /* jpegInterchangeFormatAttribute */
        50: .line 3034
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 3036
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            ldc "JPEGInterchangeFormatLength"
        52: .line 3037
            aload 17 /* jpegInterchangeFormatLengthAttribute */
        53: .line 3036
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 17 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatLengthAttribute
        end local 16 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatAttribute
        end local 15 // android.media.ExifInterface$ExifAttribute compressionAttribute
        54: .line 3039
            goto 58
      StackMap locals:
      StackMap stack:
        55: aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            bipush 10
            if_icmpne 58
        56: .line 3040
            aload 10 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            ldc "JpgFromRaw"
            if_acmpne 58
        57: .line 3041
            aload 0 /* this */
            iload 14 /* offset */
            putfield android.media.ExifInterface.mRw2JpgFromRawOffset:I
        58: .line 3044
      StackMap locals:
      StackMap stack:
            iload 14 /* offset */
            i2l
            lload 11 /* byteCount */
            ladd
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mLength:I
            i2l
            lcmp
            ifgt 61
        59: .line 3045
            aload 1 /* dataInputStream */
            iload 14 /* offset */
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        60: .line 3046
            goto 64
        61: .line 3048
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Skip the tag entry since data offset is invalid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        62: .line 3049
            aload 1 /* dataInputStream */
            lload 8 /* nextEntryOffset */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        63: .line 3050
            goto 102
        end local 14 // int offset
        64: .line 3055
      StackMap locals:
      StackMap stack:
            getstatic android.media.ExifInterface.sExifPointerTagMap:Ljava/util/HashMap;
            iload 5 /* tagNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 14 /* nextIfdType */
        start local 14 // java.lang.Integer nextIfdType
        65: .line 3060
            aload 14 /* nextIfdType */
            ifnull 89
        66: .line 3061
            ldc -1
            lstore 15 /* offset */
        start local 15 // long offset
        67: .line 3063
            iload 6 /* dataFormat */
            tableswitch { // 3 - 13
                    3: 68
                    4: 72
                    5: 76
                    6: 76
                    7: 76
                    8: 70
                    9: 74
                   10: 76
                   11: 76
                   12: 76
                   13: 74
              default: 76
          }
        68: .line 3065
      StackMap locals: java.lang.Integer long
      StackMap stack:
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            i2l
            lstore 15 /* offset */
        69: .line 3066
            goto 76
        70: .line 3069
      StackMap locals:
      StackMap stack:
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readShort:()S
            i2l
            lstore 15 /* offset */
        71: .line 3070
            goto 76
        72: .line 3073
      StackMap locals:
      StackMap stack:
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedInt:()J
            lstore 15 /* offset */
        73: .line 3074
            goto 76
        74: .line 3078
      StackMap locals:
      StackMap stack:
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            i2l
            lstore 15 /* offset */
        75: .line 3079
            goto 76
        76: .line 3093
      StackMap locals:
      StackMap stack:
            lload 15 /* offset */
            lconst_0
            lcmp
            ifle 86
            lload 15 /* offset */
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mLength:I
            i2l
            lcmp
            ifge 86
        77: .line 3094
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributesOffsets:Ljava/util/Set;
            lload 15 /* offset */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 82
        78: .line 3096
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributesOffsets:Ljava/util/Set;
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mPosition:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        79: .line 3097
            aload 1 /* dataInputStream */
            lload 15 /* offset */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        80: .line 3098
            aload 0 /* this */
            aload 1 /* dataInputStream */
            aload 14 /* nextIfdType */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual android.media.ExifInterface.readImageFileDirectory:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
        81: .line 3099
            goto 87
        82: .line 3100
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Skip jump into the IFD since it has already been read: IfdType "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        83: .line 3101
            aload 14 /* nextIfdType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " (at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 15 /* offset */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        84: .line 3100
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        85: .line 3103
            goto 87
        86: .line 3104
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Skip jump into the IFD since its offset is invalid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 15 /* offset */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        87: .line 3107
      StackMap locals:
      StackMap stack:
            aload 1 /* dataInputStream */
            lload 8 /* nextEntryOffset */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        88: .line 3108
            goto 102
        end local 15 // long offset
        89: .line 3111
      StackMap locals:
      StackMap stack:
            lload 11 /* byteCount */
            l2i
            newarray 8
            astore 15 /* bytes */
        start local 15 // byte[] bytes
        90: .line 3112
            aload 1 /* dataInputStream */
            aload 15 /* bytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readFully:([B)V
        91: .line 3113
            new android.media.ExifInterface$ExifAttribute
            dup
            iload 6 /* dataFormat */
            iload 7 /* numberOfComponents */
            aload 15 /* bytes */
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            astore 16 /* attribute */
        start local 16 // android.media.ExifInterface$ExifAttribute attribute
        92: .line 3114
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* ifdType */
            aaload
            aload 10 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            aload 16 /* attribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        93: .line 3119
            aload 10 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            ldc "DNGVersion"
            if_acmpne 95
        94: .line 3120
            aload 0 /* this */
            iconst_3
            putfield android.media.ExifInterface.mMimeType:I
        95: .line 3126
      StackMap locals: byte[] android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 10 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            ldc "Make"
            if_acmpeq 96
            aload 10 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            ldc "Model"
            if_acmpne 97
        96: .line 3127
      StackMap locals:
      StackMap stack:
            aload 16 /* attribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getStringValue:(Ljava/nio/ByteOrder;)Ljava/lang/String;
            ldc "PENTAX"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 99
        97: .line 3128
      StackMap locals:
      StackMap stack:
            aload 10 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            ldc "Compression"
            if_acmpne 100
        98: .line 3129
            aload 16 /* attribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            ldc 65535
            if_icmpne 100
        99: .line 3130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            putfield android.media.ExifInterface.mMimeType:I
       100: .line 3134
      StackMap locals:
      StackMap stack:
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.peek:()I
            i2l
            lload 8 /* nextEntryOffset */
            lcmp
            ifeq 102
       101: .line 3135
            aload 1 /* dataInputStream */
            lload 8 /* nextEntryOffset */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        end local 16 // android.media.ExifInterface$ExifAttribute attribute
        end local 15 // byte[] bytes
        end local 14 // java.lang.Integer nextIfdType
        end local 13 // boolean valid
        end local 11 // long byteCount
        end local 10 // android.media.ExifInterface$ExifTag tag
        end local 8 // long nextEntryOffset
        end local 7 // int numberOfComponents
        end local 6 // int dataFormat
        end local 5 // int tagNumber
       102: .line 2973
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream int int int
      StackMap stack:
            iload 4 /* i */
            iconst_1
            iadd
            i2s
            istore 4 /* i */
      StackMap locals:
      StackMap stack:
       103: iload 4 /* i */
            iload 3 /* numberOfDirectoryEntry */
            if_icmplt 8
        end local 4 // short i
       104: .line 3139
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.peek:()I
            iconst_4
            iadd
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mLength:I
            if_icmpgt 123
       105: .line 3140
            aload 1 /* dataInputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            istore 4 /* nextIfdOffset */
        start local 4 // int nextIfdOffset
       106: .line 3147
            iload 4 /* nextIfdOffset */
            i2l
            lconst_0
            lcmp
            ifle 120
            iload 4 /* nextIfdOffset */
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mLength:I
            if_icmpge 120
       107: .line 3148
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributesOffsets:Ljava/util/Set;
            iload 4 /* nextIfdOffset */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 116
       108: .line 3150
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributesOffsets:Ljava/util/Set;
            aload 1 /* dataInputStream */
            getfield android.media.ExifInterface$ByteOrderedDataInputStream.mPosition:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       109: .line 3151
            aload 1 /* dataInputStream */
            iload 4 /* nextIfdOffset */
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
       110: .line 3153
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifeq 113
       111: .line 3154
            aload 0 /* this */
            aload 1 /* dataInputStream */
            iconst_4
            invokevirtual android.media.ExifInterface.readImageFileDirectory:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
       112: .line 3155
            goto 123
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream int int int
      StackMap stack:
       113: aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_5
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifeq 123
       114: .line 3156
            aload 0 /* this */
            aload 1 /* dataInputStream */
            iconst_5
            invokevirtual android.media.ExifInterface.readImageFileDirectory:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
       115: .line 3158
            goto 123
       116: .line 3159
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Stop reading file since re-reading an IFD may cause an infinite loop: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       117: .line 3160
            iload 4 /* nextIfdOffset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       118: .line 3159
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
       119: .line 3162
            goto 123
       120: .line 3163
      StackMap locals:
      StackMap stack:
            ldc "ExifInterface"
            new java.lang.StringBuilder
            dup
            ldc "Stop reading file since a wrong offset may cause an infinite loop: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       121: .line 3164
            iload 4 /* nextIfdOffset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       122: .line 3163
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 4 // int nextIfdOffset
       123: .line 3167
      StackMap locals:
      StackMap stack:
            return
        end local 3 // short numberOfDirectoryEntry
        end local 2 // int ifdType
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream dataInputStream
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                                  Name  Signature
            0  124     0                                  this  Landroid/media/ExifInterface;
            0  124     1                       dataInputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            0  124     2                               ifdType  I
            3  124     3                numberOfDirectoryEntry  S
            7  104     4                                     i  S
            9  102     5                             tagNumber  I
           10  102     6                            dataFormat  I
           11  102     7                    numberOfComponents  I
           12  102     8                       nextEntryOffset  J
           13  102    10                                   tag  Landroid/media/ExifInterface$ExifTag;
           14  102    11                             byteCount  J
           15  102    13                                 valid  Z
           33   64    14                                offset  I
           43   54    15                  compressionAttribute  Landroid/media/ExifInterface$ExifAttribute;
           45   54    16        jpegInterchangeFormatAttribute  Landroid/media/ExifInterface$ExifAttribute;
           47   54    17  jpegInterchangeFormatLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           65  102    14                           nextIfdType  Ljava/lang/Integer;
           67   89    15                                offset  J
           90  102    15                                 bytes  [B
           92  102    16                             attribute  Landroid/media/ExifInterface$ExifAttribute;
          106  123     4                         nextIfdOffset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      dataInputStream  
      ifdType          

  private void retrieveJpegImageSize(android.media.ExifInterface$ByteOrderedDataInputStream, int);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        start local 2 // int imageType
         0: .line 3179
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "ImageLength"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         1: .line 3178
            astore 3 /* imageLengthAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
         2: .line 3181
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "ImageWidth"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         3: .line 3180
            astore 4 /* imageWidthAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
         4: .line 3183
            aload 3 /* imageLengthAttribute */
            ifnull 5
            aload 4 /* imageWidthAttribute */
            ifnonnull 11
         5: .line 3186
      StackMap locals: android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "JPEGInterchangeFormat"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         6: .line 3185
            astore 5 /* jpegInterchangeFormatAttribute */
        start local 5 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatAttribute
         7: .line 3187
            aload 5 /* jpegInterchangeFormatAttribute */
            ifnull 11
         8: .line 3189
            aload 5 /* jpegInterchangeFormatAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
         9: .line 3188
            istore 6 /* jpegInterchangeFormat */
        start local 6 // int jpegInterchangeFormat
        10: .line 3192
            aload 0 /* this */
            aload 1 /* in */
            iload 6 /* jpegInterchangeFormat */
            iload 2 /* imageType */
            invokevirtual android.media.ExifInterface.getJpegAttributes:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;II)V
        end local 6 // int jpegInterchangeFormat
        end local 5 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatAttribute
        11: .line 3195
      StackMap locals:
      StackMap stack:
            return
        end local 4 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
        end local 3 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        end local 2 // int imageType
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   12     0                            this  Landroid/media/ExifInterface;
            0   12     1                              in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            0   12     2                       imageType  I
            2   12     3            imageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
            4   12     4             imageWidthAttribute  Landroid/media/ExifInterface$ExifAttribute;
            7   11     5  jpegInterchangeFormatAttribute  Landroid/media/ExifInterface$ExifAttribute;
           10   11     6           jpegInterchangeFormat  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      in         
      imageType  

  private void setThumbnailData(android.media.ExifInterface$ByteOrderedDataInputStream);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
         0: .line 3199
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            astore 2 /* thumbnailData */
        start local 2 // java.util.HashMap thumbnailData
         1: .line 3202
            aload 2 /* thumbnailData */
            ldc "Compression"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         2: .line 3201
            astore 3 /* compressionAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute compressionAttribute
         3: .line 3203
            aload 3 /* compressionAttribute */
            ifnull 11
         4: .line 3204
            aload 0 /* this */
            aload 3 /* compressionAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            putfield android.media.ExifInterface.mThumbnailCompression:I
         5: .line 3205
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailCompression:I
            tableswitch { // 1 - 7
                    1: 8
                    2: 10
                    3: 10
                    4: 10
                    5: 10
                    6: 6
                    7: 8
              default: 10
          }
         6: .line 3207
      StackMap locals: java.util.HashMap android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* thumbnailData */
            invokevirtual android.media.ExifInterface.handleThumbnailFromJfif:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
         7: .line 3208
            goto 12
         8: .line 3212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* thumbnailData */
            invokevirtual android.media.ExifInterface.isSupportedDataType:(Ljava/util/HashMap;)Z
            ifeq 12
         9: .line 3213
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* thumbnailData */
            invokevirtual android.media.ExifInterface.handleThumbnailFromStrips:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
        10: .line 3218
      StackMap locals:
      StackMap stack:
            goto 12
        11: .line 3220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* thumbnailData */
            invokevirtual android.media.ExifInterface.handleThumbnailFromJfif:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
        12: .line 3222
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.media.ExifInterface$ExifAttribute compressionAttribute
        end local 2 // java.util.HashMap thumbnailData
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                  this  Landroid/media/ExifInterface;
            0   13     1                    in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            1   13     2         thumbnailData  Ljava/util/HashMap;
            3   13     3  compressionAttribute  Landroid/media/ExifInterface$ExifAttribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private void handleThumbnailFromJfif(android.media.ExifInterface$ByteOrderedDataInputStream, java.util.HashMap);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        start local 2 // java.util.HashMap thumbnailData
         0: .line 3229
            aload 2 /* thumbnailData */
            ldc "JPEGInterchangeFormat"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         1: .line 3228
            astore 3 /* jpegInterchangeFormatAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatAttribute
         2: .line 3231
            aload 2 /* thumbnailData */
            ldc "JPEGInterchangeFormatLength"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         3: .line 3230
            astore 4 /* jpegInterchangeFormatLengthAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatLengthAttribute
         4: .line 3232
            aload 3 /* jpegInterchangeFormatAttribute */
            ifnull 26
         5: .line 3233
            aload 4 /* jpegInterchangeFormatLengthAttribute */
            ifnull 26
         6: .line 3234
            aload 3 /* jpegInterchangeFormatAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 5 /* thumbnailOffset */
        start local 5 // int thumbnailOffset
         7: .line 3235
            aload 4 /* jpegInterchangeFormatLengthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 6 /* thumbnailLength */
        start local 6 // int thumbnailLength
         8: .line 3238
            iload 6 /* thumbnailLength */
            aload 1 /* in */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.available:()I
            iload 5 /* thumbnailOffset */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* thumbnailLength */
         9: .line 3239
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            iconst_4
            if_icmpeq 11
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            bipush 9
            if_icmpeq 11
        10: .line 3240
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            bipush 10
            if_icmpne 13
        11: .line 3241
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream java.util.HashMap android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute int int
      StackMap stack:
            iload 5 /* thumbnailOffset */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifOffset:I
            iadd
            istore 5 /* thumbnailOffset */
        12: .line 3242
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            bipush 7
            if_icmpne 15
        14: .line 3244
            iload 5 /* thumbnailOffset */
            aload 0 /* this */
            getfield android.media.ExifInterface.mOrfMakerNoteOffset:I
            iadd
            istore 5 /* thumbnailOffset */
        15: .line 3250
      StackMap locals:
      StackMap stack:
            iload 5 /* thumbnailOffset */
            ifle 26
            iload 6 /* thumbnailLength */
            ifle 26
        16: .line 3251
            aload 0 /* this */
            iconst_1
            putfield android.media.ExifInterface.mHasThumbnail:Z
        17: .line 3252
            aload 0 /* this */
            iload 5 /* thumbnailOffset */
            putfield android.media.ExifInterface.mThumbnailOffset:I
        18: .line 3253
            aload 0 /* this */
            iload 6 /* thumbnailLength */
            putfield android.media.ExifInterface.mThumbnailLength:I
        19: .line 3254
            aload 0 /* this */
            bipush 6
            putfield android.media.ExifInterface.mThumbnailCompression:I
        20: .line 3256
            aload 0 /* this */
            getfield android.media.ExifInterface.mFilename:Ljava/lang/String;
            ifnonnull 26
            aload 0 /* this */
            getfield android.media.ExifInterface.mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
            ifnonnull 26
        21: .line 3257
            aload 0 /* this */
            getfield android.media.ExifInterface.mSeekableFileDescriptor:Ljava/io/FileDescriptor;
            ifnonnull 26
        22: .line 3259
            iload 6 /* thumbnailLength */
            newarray 8
            astore 7 /* thumbnailBytes */
        start local 7 // byte[] thumbnailBytes
        23: .line 3260
            aload 1 /* in */
            iload 5 /* thumbnailOffset */
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        24: .line 3261
            aload 1 /* in */
            aload 7 /* thumbnailBytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readFully:([B)V
        25: .line 3262
            aload 0 /* this */
            aload 7 /* thumbnailBytes */
            putfield android.media.ExifInterface.mThumbnailBytes:[B
        end local 7 // byte[] thumbnailBytes
        end local 6 // int thumbnailLength
        end local 5 // int thumbnailOffset
        26: .line 3266
      StackMap locals:
      StackMap stack:
            return
        end local 4 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatLengthAttribute
        end local 3 // android.media.ExifInterface$ExifAttribute jpegInterchangeFormatAttribute
        end local 2 // java.util.HashMap thumbnailData
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                                  Name  Signature
            0   27     0                                  this  Landroid/media/ExifInterface;
            0   27     1                                    in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            0   27     2                         thumbnailData  Ljava/util/HashMap;
            2   27     3        jpegInterchangeFormatAttribute  Landroid/media/ExifInterface$ExifAttribute;
            4   27     4  jpegInterchangeFormatLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
            7   26     5                       thumbnailOffset  I
            8   26     6                       thumbnailLength  I
           23   26     7                        thumbnailBytes  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      in             
      thumbnailData  

  private void handleThumbnailFromStrips(android.media.ExifInterface$ByteOrderedDataInputStream, java.util.HashMap);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        start local 2 // java.util.HashMap thumbnailData
         0: .line 3272
            aload 2 /* thumbnailData */
            ldc "StripOffsets"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         1: .line 3271
            astore 3 /* stripOffsetsAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute stripOffsetsAttribute
         2: .line 3274
            aload 2 /* thumbnailData */
            ldc "StripByteCounts"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         3: .line 3273
            astore 4 /* stripByteCountsAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute stripByteCountsAttribute
         4: .line 3276
            aload 3 /* stripOffsetsAttribute */
            ifnull 40
            aload 4 /* stripByteCountsAttribute */
            ifnull 40
         5: .line 3278
            aload 3 /* stripOffsetsAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            invokestatic android.media.ExifInterface.convertToLongArray:(Ljava/lang/Object;)[J
         6: .line 3277
            astore 5 /* stripOffsets */
        start local 5 // long[] stripOffsets
         7: .line 3280
            aload 4 /* stripByteCountsAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            invokestatic android.media.ExifInterface.convertToLongArray:(Ljava/lang/Object;)[J
         8: .line 3279
            astore 6 /* stripByteCounts */
        start local 6 // long[] stripByteCounts
         9: .line 3282
            aload 5 /* stripOffsets */
            ifnonnull 12
        10: .line 3283
            ldc "ExifInterface"
            ldc "stripOffsets should not be null."
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        11: .line 3284
            return
        12: .line 3286
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream java.util.HashMap android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute long[] long[]
      StackMap stack:
            aload 6 /* stripByteCounts */
            ifnonnull 15
        13: .line 3287
            ldc "ExifInterface"
            ldc "stripByteCounts should not be null."
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        14: .line 3288
            return
        15: .line 3293
      StackMap locals:
      StackMap stack:
            aload 6 /* stripByteCounts */
            invokestatic java.util.Arrays.stream:([J)Ljava/util/stream/LongStream;
            invokeinterface java.util.stream.LongStream.sum:()J
            l2i
            newarray 8
        16: .line 3292
            astore 7 /* totalStripBytes */
        start local 7 // byte[] totalStripBytes
        17: .line 3295
            iconst_0
            istore 8 /* bytesRead */
        start local 8 // int bytesRead
        18: .line 3296
            iconst_0
            istore 9 /* bytesAdded */
        start local 9 // int bytesAdded
        19: .line 3297
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        20: goto 36
        21: .line 3298
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream java.util.HashMap android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute long[] long[] byte[] int int int
      StackMap stack:
            aload 5 /* stripOffsets */
            iload 10 /* i */
            laload
            l2i
            istore 11 /* stripOffset */
        start local 11 // int stripOffset
        22: .line 3299
            aload 6 /* stripByteCounts */
            iload 10 /* i */
            laload
            l2i
            istore 12 /* stripByteCount */
        start local 12 // int stripByteCount
        23: .line 3302
            iload 11 /* stripOffset */
            iload 8 /* bytesRead */
            isub
            istore 13 /* skipBytes */
        start local 13 // int skipBytes
        24: .line 3303
            iload 13 /* skipBytes */
            ifge 26
        25: .line 3304
            ldc "ExifInterface"
            ldc "Invalid strip offset value"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        26: .line 3306
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* in */
            iload 13 /* skipBytes */
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.seek:(J)V
        27: .line 3307
            iload 8 /* bytesRead */
            iload 13 /* skipBytes */
            iadd
            istore 8 /* bytesRead */
        28: .line 3310
            iload 12 /* stripByteCount */
            newarray 8
            astore 14 /* stripBytes */
        start local 14 // byte[] stripBytes
        29: .line 3311
            aload 1 /* in */
            aload 14 /* stripBytes */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.read:([B)I
            pop
        30: .line 3312
            iload 8 /* bytesRead */
            iload 12 /* stripByteCount */
            iadd
            istore 8 /* bytesRead */
        31: .line 3315
            aload 14 /* stripBytes */
            iconst_0
            aload 7 /* totalStripBytes */
            iload 9 /* bytesAdded */
        32: .line 3316
            aload 14 /* stripBytes */
            arraylength
        33: .line 3315
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 3317
            iload 9 /* bytesAdded */
            aload 14 /* stripBytes */
            arraylength
            iadd
            istore 9 /* bytesAdded */
        end local 14 // byte[] stripBytes
        end local 13 // int skipBytes
        end local 12 // int stripByteCount
        end local 11 // int stripOffset
        35: .line 3297
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 10 /* i */
            aload 5 /* stripOffsets */
            arraylength
            if_icmplt 21
        end local 10 // int i
        37: .line 3320
            aload 0 /* this */
            iconst_1
            putfield android.media.ExifInterface.mHasThumbnail:Z
        38: .line 3321
            aload 0 /* this */
            aload 7 /* totalStripBytes */
            putfield android.media.ExifInterface.mThumbnailBytes:[B
        39: .line 3322
            aload 0 /* this */
            aload 7 /* totalStripBytes */
            arraylength
            putfield android.media.ExifInterface.mThumbnailLength:I
        end local 9 // int bytesAdded
        end local 8 // int bytesRead
        end local 7 // byte[] totalStripBytes
        end local 6 // long[] stripByteCounts
        end local 5 // long[] stripOffsets
        40: .line 3324
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream java.util.HashMap android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
            return
        end local 4 // android.media.ExifInterface$ExifAttribute stripByteCountsAttribute
        end local 3 // android.media.ExifInterface$ExifAttribute stripOffsetsAttribute
        end local 2 // java.util.HashMap thumbnailData
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   41     0                      this  Landroid/media/ExifInterface;
            0   41     1                        in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            0   41     2             thumbnailData  Ljava/util/HashMap;
            2   41     3     stripOffsetsAttribute  Landroid/media/ExifInterface$ExifAttribute;
            4   41     4  stripByteCountsAttribute  Landroid/media/ExifInterface$ExifAttribute;
            7   40     5              stripOffsets  [J
            9   40     6           stripByteCounts  [J
           17   40     7           totalStripBytes  [B
           18   40     8                 bytesRead  I
           19   40     9                bytesAdded  I
           20   37    10                         i  I
           22   35    11               stripOffset  I
           23   35    12            stripByteCount  I
           24   35    13                 skipBytes  I
           29   35    14                stripBytes  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      in             
      thumbnailData  

  private boolean isSupportedDataType(java.util.HashMap);
    descriptor: (Ljava/util/HashMap;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.util.HashMap thumbnailData
         0: .line 3329
            aload 1 /* thumbnailData */
            ldc "BitsPerSample"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         1: .line 3328
            astore 2 /* bitsPerSampleAttribute */
        start local 2 // android.media.ExifInterface$ExifAttribute bitsPerSampleAttribute
         2: .line 3330
            aload 2 /* bitsPerSampleAttribute */
            ifnull 17
         3: .line 3331
            aload 2 /* bitsPerSampleAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            checkcast int[]
            astore 3 /* bitsPerSampleValue */
        start local 3 // int[] bitsPerSampleValue
         4: .line 3333
            getstatic android.media.ExifInterface.BITS_PER_SAMPLE_RGB:[I
            aload 3 /* bitsPerSampleValue */
            invokestatic java.util.Arrays.equals:([I[I)Z
            ifeq 6
         5: .line 3334
            iconst_1
            ireturn
         6: .line 3338
      StackMap locals: android.media.ExifInterface$ExifAttribute int[]
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mMimeType:I
            iconst_3
            if_icmpne 17
         7: .line 3340
            aload 1 /* thumbnailData */
            ldc "PhotometricInterpretation"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         8: .line 3339
            astore 4 /* photometricInterpretationAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute photometricInterpretationAttribute
         9: .line 3341
            aload 4 /* photometricInterpretationAttribute */
            ifnull 17
        10: .line 3343
            aload 4 /* photometricInterpretationAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
        11: .line 3342
            istore 5 /* photometricInterpretationValue */
        start local 5 // int photometricInterpretationValue
        12: .line 3344
            iload 5 /* photometricInterpretationValue */
            iconst_1
            if_icmpne 14
        13: .line 3345
            aload 3 /* bitsPerSampleValue */
            getstatic android.media.ExifInterface.BITS_PER_SAMPLE_GREYSCALE_2:[I
            invokestatic java.util.Arrays.equals:([I[I)Z
            ifne 16
        14: .line 3346
      StackMap locals: android.media.ExifInterface$ExifAttribute int
      StackMap stack:
            iload 5 /* photometricInterpretationValue */
            bipush 6
            if_icmpne 17
        15: .line 3347
            aload 3 /* bitsPerSampleValue */
            getstatic android.media.ExifInterface.BITS_PER_SAMPLE_RGB:[I
            invokestatic java.util.Arrays.equals:([I[I)Z
            ifeq 17
        16: .line 3348
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // int photometricInterpretationValue
        end local 4 // android.media.ExifInterface$ExifAttribute photometricInterpretationAttribute
        end local 3 // int[] bitsPerSampleValue
        17: .line 3358
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // android.media.ExifInterface$ExifAttribute bitsPerSampleAttribute
        end local 1 // java.util.HashMap thumbnailData
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                                Name  Signature
            0   18     0                                this  Landroid/media/ExifInterface;
            0   18     1                       thumbnailData  Ljava/util/HashMap;
            2   18     2              bitsPerSampleAttribute  Landroid/media/ExifInterface$ExifAttribute;
            4   17     3                  bitsPerSampleValue  [I
            9   17     4  photometricInterpretationAttribute  Landroid/media/ExifInterface$ExifAttribute;
           12   17     5      photometricInterpretationValue  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      thumbnailData  

  private boolean isThumbnail(java.util.HashMap);
    descriptor: (Ljava/util/HashMap;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.util.HashMap map
         0: .line 3364
            aload 1 /* map */
            ldc "ImageLength"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
            astore 2 /* imageLengthAttribute */
        start local 2 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
         1: .line 3365
            aload 1 /* map */
            ldc "ImageWidth"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
            astore 3 /* imageWidthAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
         2: .line 3367
            aload 2 /* imageLengthAttribute */
            ifnull 7
            aload 3 /* imageWidthAttribute */
            ifnull 7
         3: .line 3368
            aload 2 /* imageLengthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 4 /* imageLengthValue */
        start local 4 // int imageLengthValue
         4: .line 3369
            aload 3 /* imageWidthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 5 /* imageWidthValue */
        start local 5 // int imageWidthValue
         5: .line 3370
            iload 4 /* imageLengthValue */
            sipush 512
            if_icmpgt 7
            iload 5 /* imageWidthValue */
            sipush 512
            if_icmpgt 7
         6: .line 3371
            iconst_1
            ireturn
        end local 5 // int imageWidthValue
        end local 4 // int imageLengthValue
         7: .line 3374
      StackMap locals: android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
        end local 2 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        end local 1 // java.util.HashMap map
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Landroid/media/ExifInterface;
            0    8     1                   map  Ljava/util/HashMap;
            1    8     2  imageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
            2    8     3   imageWidthAttribute  Landroid/media/ExifInterface$ExifAttribute;
            4    7     4      imageLengthValue  I
            5    7     5       imageWidthValue  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      map   

  private void validateImages(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.media.ExifInterface this
        start local 1 // java.io.InputStream in
         0: .line 3380
            aload 0 /* this */
            iconst_0
            iconst_5
            invokevirtual android.media.ExifInterface.swapBasedOnImageSize:(II)V
         1: .line 3381
            aload 0 /* this */
            iconst_0
            iconst_4
            invokevirtual android.media.ExifInterface.swapBasedOnImageSize:(II)V
         2: .line 3382
            aload 0 /* this */
            iconst_5
            iconst_4
            invokevirtual android.media.ExifInterface.swapBasedOnImageSize:(II)V
         3: .line 3388
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "PixelXDimension"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         4: .line 3387
            astore 2 /* pixelXDimAttribute */
        start local 2 // android.media.ExifInterface$ExifAttribute pixelXDimAttribute
         5: .line 3390
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            ldc "PixelYDimension"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         6: .line 3389
            astore 3 /* pixelYDimAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute pixelYDimAttribute
         7: .line 3391
            aload 2 /* pixelXDimAttribute */
            ifnull 10
            aload 3 /* pixelYDimAttribute */
            ifnull 10
         8: .line 3392
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageWidth"
            aload 2 /* pixelXDimAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 3393
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            ldc "ImageLength"
            aload 3 /* pixelYDimAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 3398
      StackMap locals: android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifeq 14
        11: .line 3399
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_5
            aaload
            invokevirtual android.media.ExifInterface.isThumbnail:(Ljava/util/HashMap;)Z
            ifeq 14
        12: .line 3400
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_5
            aaload
            aastore
        13: .line 3401
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_5
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            aastore
        14: .line 3406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            invokevirtual android.media.ExifInterface.isThumbnail:(Ljava/util/HashMap;)Z
            ifne 16
        15: .line 3407
            ldc "ExifInterface"
            ldc "No image meets the size requirements of a thumbnail image."
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        16: .line 3409
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.media.ExifInterface$ExifAttribute pixelYDimAttribute
        end local 2 // android.media.ExifInterface$ExifAttribute pixelXDimAttribute
        end local 1 // java.io.InputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Landroid/media/ExifInterface;
            0   17     1                  in  Ljava/io/InputStream;
            5   17     2  pixelXDimAttribute  Landroid/media/ExifInterface$ExifAttribute;
            7   17     3  pixelYDimAttribute  Landroid/media/ExifInterface$ExifAttribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private void updateImageSizeValues(android.media.ExifInterface$ByteOrderedDataInputStream, int);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=16, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        start local 2 // int imageType
         0: .line 3425
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "DefaultCropSize"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         1: .line 3424
            astore 3 /* defaultCropSizeAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute defaultCropSizeAttribute
         2: .line 3428
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "SensorTopBorder"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         3: .line 3427
            astore 4 /* topBorderAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute topBorderAttribute
         4: .line 3430
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "SensorLeftBorder"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         5: .line 3429
            astore 5 /* leftBorderAttribute */
        start local 5 // android.media.ExifInterface$ExifAttribute leftBorderAttribute
         6: .line 3432
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "SensorBottomBorder"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         7: .line 3431
            astore 6 /* bottomBorderAttribute */
        start local 6 // android.media.ExifInterface$ExifAttribute bottomBorderAttribute
         8: .line 3434
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "SensorRightBorder"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         9: .line 3433
            astore 7 /* rightBorderAttribute */
        start local 7 // android.media.ExifInterface$ExifAttribute rightBorderAttribute
        10: .line 3436
            aload 3 /* defaultCropSizeAttribute */
            ifnull 28
        11: .line 3439
            aload 3 /* defaultCropSizeAttribute */
            getfield android.media.ExifInterface$ExifAttribute.format:I
            iconst_5
            if_icmpne 19
        12: .line 3441
            aload 3 /* defaultCropSizeAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$Rational[]
        13: .line 3440
            astore 10 /* defaultCropSizeValue */
        start local 10 // android.media.ExifInterface$Rational[] defaultCropSizeValue
        14: .line 3443
            aload 10 /* defaultCropSizeValue */
            iconst_0
            aaload
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createURational:(Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        15: .line 3442
            astore 8 /* defaultCropSizeXAttribute */
        start local 8 // android.media.ExifInterface$ExifAttribute defaultCropSizeXAttribute
        16: .line 3445
            aload 10 /* defaultCropSizeValue */
            iconst_1
            aaload
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createURational:(Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        17: .line 3444
            astore 9 /* defaultCropSizeYAttribute */
        end local 10 // android.media.ExifInterface$Rational[] defaultCropSizeValue
        start local 9 // android.media.ExifInterface$ExifAttribute defaultCropSizeYAttribute
        18: .line 3446
            goto 25
        end local 9 // android.media.ExifInterface$ExifAttribute defaultCropSizeYAttribute
        end local 8 // android.media.ExifInterface$ExifAttribute defaultCropSizeXAttribute
        19: .line 3448
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataInputStream int android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 3 /* defaultCropSizeAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            checkcast int[]
        20: .line 3447
            astore 10 /* defaultCropSizeValue */
        start local 10 // int[] defaultCropSizeValue
        21: .line 3450
            aload 10 /* defaultCropSizeValue */
            iconst_0
            iaload
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        22: .line 3449
            astore 8 /* defaultCropSizeXAttribute */
        start local 8 // android.media.ExifInterface$ExifAttribute defaultCropSizeXAttribute
        23: .line 3452
            aload 10 /* defaultCropSizeValue */
            iconst_1
            iaload
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        24: .line 3451
            astore 9 /* defaultCropSizeYAttribute */
        end local 10 // int[] defaultCropSizeValue
        start local 9 // android.media.ExifInterface$ExifAttribute defaultCropSizeYAttribute
        25: .line 3454
      StackMap locals: android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "ImageWidth"
            aload 8 /* defaultCropSizeXAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 3455
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "ImageLength"
            aload 9 /* defaultCropSizeYAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // android.media.ExifInterface$ExifAttribute defaultCropSizeYAttribute
        end local 8 // android.media.ExifInterface$ExifAttribute defaultCropSizeXAttribute
        27: .line 3456
            goto 45
      StackMap locals:
      StackMap stack:
        28: aload 4 /* topBorderAttribute */
            ifnull 44
            aload 5 /* leftBorderAttribute */
            ifnull 44
        29: .line 3457
            aload 6 /* bottomBorderAttribute */
            ifnull 44
            aload 7 /* rightBorderAttribute */
            ifnull 44
        30: .line 3459
            aload 4 /* topBorderAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 8 /* topBorderValue */
        start local 8 // int topBorderValue
        31: .line 3460
            aload 6 /* bottomBorderAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 9 /* bottomBorderValue */
        start local 9 // int bottomBorderValue
        32: .line 3461
            aload 7 /* rightBorderAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 10 /* rightBorderValue */
        start local 10 // int rightBorderValue
        33: .line 3462
            aload 5 /* leftBorderAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 11 /* leftBorderValue */
        start local 11 // int leftBorderValue
        34: .line 3463
            iload 9 /* bottomBorderValue */
            iload 8 /* topBorderValue */
            if_icmple 45
            iload 10 /* rightBorderValue */
            iload 11 /* leftBorderValue */
            if_icmple 45
        35: .line 3464
            iload 9 /* bottomBorderValue */
            iload 8 /* topBorderValue */
            isub
            istore 12 /* length */
        start local 12 // int length
        36: .line 3465
            iload 10 /* rightBorderValue */
            iload 11 /* leftBorderValue */
            isub
            istore 13 /* width */
        start local 13 // int width
        37: .line 3467
            iload 12 /* length */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        38: .line 3466
            astore 14 /* imageLengthAttribute */
        start local 14 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        39: .line 3469
            iload 13 /* width */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        40: .line 3468
            astore 15 /* imageWidthAttribute */
        start local 15 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
        41: .line 3470
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "ImageLength"
            aload 14 /* imageLengthAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 3471
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* imageType */
            aaload
            ldc "ImageWidth"
            aload 15 /* imageWidthAttribute */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // android.media.ExifInterface$ExifAttribute imageWidthAttribute
        end local 14 // android.media.ExifInterface$ExifAttribute imageLengthAttribute
        end local 13 // int width
        end local 12 // int length
        end local 11 // int leftBorderValue
        end local 10 // int rightBorderValue
        end local 9 // int bottomBorderValue
        end local 8 // int topBorderValue
        43: .line 3473
            goto 45
        44: .line 3474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            iload 2 /* imageType */
            invokevirtual android.media.ExifInterface.retrieveJpegImageSize:(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
        45: .line 3476
      StackMap locals:
      StackMap stack:
            return
        end local 7 // android.media.ExifInterface$ExifAttribute rightBorderAttribute
        end local 6 // android.media.ExifInterface$ExifAttribute bottomBorderAttribute
        end local 5 // android.media.ExifInterface$ExifAttribute leftBorderAttribute
        end local 4 // android.media.ExifInterface$ExifAttribute topBorderAttribute
        end local 3 // android.media.ExifInterface$ExifAttribute defaultCropSizeAttribute
        end local 2 // int imageType
        end local 1 // android.media.ExifInterface$ByteOrderedDataInputStream in
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   46     0                       this  Landroid/media/ExifInterface;
            0   46     1                         in  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
            0   46     2                  imageType  I
            2   46     3   defaultCropSizeAttribute  Landroid/media/ExifInterface$ExifAttribute;
            4   46     4         topBorderAttribute  Landroid/media/ExifInterface$ExifAttribute;
            6   46     5        leftBorderAttribute  Landroid/media/ExifInterface$ExifAttribute;
            8   46     6      bottomBorderAttribute  Landroid/media/ExifInterface$ExifAttribute;
           10   46     7       rightBorderAttribute  Landroid/media/ExifInterface$ExifAttribute;
           16   19     8  defaultCropSizeXAttribute  Landroid/media/ExifInterface$ExifAttribute;
           23   27     8  defaultCropSizeXAttribute  Landroid/media/ExifInterface$ExifAttribute;
           18   19     9  defaultCropSizeYAttribute  Landroid/media/ExifInterface$ExifAttribute;
           25   27     9  defaultCropSizeYAttribute  Landroid/media/ExifInterface$ExifAttribute;
           14   18    10       defaultCropSizeValue  [Landroid/media/ExifInterface$Rational;
           21   25    10       defaultCropSizeValue  [I
           31   43     8             topBorderValue  I
           32   43     9          bottomBorderValue  I
           33   43    10           rightBorderValue  I
           34   43    11            leftBorderValue  I
           36   43    12                     length  I
           37   43    13                      width  I
           39   43    14       imageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           41   43    15        imageWidthAttribute  Landroid/media/ExifInterface$ExifAttribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      in         
      imageType  

  private int writeExifSegment(android.media.ExifInterface$ByteOrderedDataOutputStream, int);
    descriptor: (Landroid/media/ExifInterface$ByteOrderedDataOutputStream;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // android.media.ExifInterface$ByteOrderedDataOutputStream dataOutputStream
        start local 2 // int exifOffsetFromBeginning
         0: .line 3482
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            newarray 10
            astore 3 /* ifdOffsets */
        start local 3 // int[] ifdOffsets
         1: .line 3483
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            newarray 10
            astore 4 /* ifdDataSizes */
        start local 4 // int[] ifdDataSizes
         2: .line 3486
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 6
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] top int int android.media.ExifInterface$ExifTag[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* tag */
        start local 5 // android.media.ExifInterface$ExifTag tag
         4: .line 3487
            aload 0 /* this */
            aload 5 /* tag */
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            invokevirtual android.media.ExifInterface.removeAttribute:(Ljava/lang/String;)V
        end local 5 // android.media.ExifInterface$ExifTag tag
         5: .line 3486
            iinc 6 1
      StackMap locals:
      StackMap stack:
         6: iload 6
            iload 7
            if_icmplt 3
         7: .line 3490
            aload 0 /* this */
            getstatic android.media.ExifInterface.JPEG_INTERCHANGE_FORMAT_TAG:Landroid/media/ExifInterface$ExifTag;
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            invokevirtual android.media.ExifInterface.removeAttribute:(Ljava/lang/String;)V
         8: .line 3491
            aload 0 /* this */
            getstatic android.media.ExifInterface.JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroid/media/ExifInterface$ExifTag;
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
            invokevirtual android.media.ExifInterface.removeAttribute:(Ljava/lang/String;)V
         9: .line 3494
            iconst_0
            istore 5 /* ifdType */
        start local 5 // int ifdType
        10: goto 19
        11: .line 3495
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 5 /* ifdType */
            aaload
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 17
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int top int int java.lang.Object[]
      StackMap stack:
        12: aload 9
            iload 7
            aaload
            astore 6 /* obj */
        start local 6 // java.lang.Object obj
        13: .line 3496
            aload 6 /* obj */
            checkcast java.util.Map$Entry
            astore 10 /* entry */
        start local 10 // java.util.Map$Entry entry
        14: .line 3497
            aload 10 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnonnull 16
        15: .line 3498
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 5 /* ifdType */
            aaload
            aload 10 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // java.util.Map$Entry entry
        end local 6 // java.lang.Object obj
        16: .line 3495
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        17: iload 7
            iload 8
            if_icmplt 12
        18: .line 3494
            iinc 5 /* ifdType */ 1
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int
      StackMap stack:
        19: iload 5 /* ifdType */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 11
        end local 5 // int ifdType
        20: .line 3505
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 24
        21: .line 3506
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_1
            aaload
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        22: .line 3507
            lconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        23: .line 3506
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 3509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_2
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 28
        25: .line 3510
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_2
            aaload
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        26: .line 3511
            lconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        27: .line 3510
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 3513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_3
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 32
        29: .line 3514
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_3
            aaload
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        30: .line 3515
            lconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        31: .line 3514
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 3517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mHasThumbnail:Z
            ifeq 39
        33: .line 3518
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            getstatic android.media.ExifInterface.JPEG_INTERCHANGE_FORMAT_TAG:Landroid/media/ExifInterface$ExifTag;
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        34: .line 3519
            lconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        35: .line 3518
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 3520
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            getstatic android.media.ExifInterface.JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroid/media/ExifInterface$ExifTag;
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        37: .line 3521
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailLength:I
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        38: .line 3520
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 3526
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        40: goto 51
        41: .line 3527
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 6 /* sum */
        start local 6 // int sum
        42: .line 3528
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 5 /* i */
            aaload
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 48
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int int top java.util.Iterator
      StackMap stack:
        43: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
        44: .line 3529
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
            astore 9 /* exifAttribute */
        start local 9 // android.media.ExifInterface$ExifAttribute exifAttribute
        45: .line 3530
            aload 9 /* exifAttribute */
            invokevirtual android.media.ExifInterface$ExifAttribute.size:()I
            istore 10 /* size */
        start local 10 // int size
        46: .line 3531
            iload 10 /* size */
            iconst_4
            if_icmple 48
        47: .line 3532
            iload 6 /* sum */
            iload 10 /* size */
            iadd
            istore 6 /* sum */
        end local 10 // int size
        end local 9 // android.media.ExifInterface$ExifAttribute exifAttribute
        end local 7 // java.util.Map$Entry entry
        48: .line 3528
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 43
        49: .line 3535
            aload 4 /* ifdDataSizes */
            iload 5 /* i */
            dup2
            iaload
            iload 6 /* sum */
            iadd
            iastore
        end local 6 // int sum
        50: .line 3526
            iinc 5 /* i */ 1
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int
      StackMap stack:
        51: iload 5 /* i */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 41
        end local 5 // int i
        52: .line 3539
            bipush 8
            istore 5 /* position */
        start local 5 // int position
        53: .line 3540
            iconst_0
            istore 6 /* ifdType */
        start local 6 // int ifdType
        54: goto 59
        55: .line 3541
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 6 /* ifdType */
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 58
        56: .line 3542
            aload 3 /* ifdOffsets */
            iload 6 /* ifdType */
            iload 5 /* position */
            iastore
        57: .line 3543
            iload 5 /* position */
            iconst_2
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 6 /* ifdType */
            aaload
            invokevirtual java.util.HashMap.size:()I
            bipush 12
            imul
            iadd
            iconst_4
            iadd
            aload 4 /* ifdDataSizes */
            iload 6 /* ifdType */
            iaload
            iadd
            iadd
            istore 5 /* position */
        58: .line 3540
      StackMap locals:
      StackMap stack:
            iinc 6 /* ifdType */ 1
      StackMap locals:
      StackMap stack:
        59: iload 6 /* ifdType */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 55
        end local 6 // int ifdType
        60: .line 3546
            aload 0 /* this */
            getfield android.media.ExifInterface.mHasThumbnail:Z
            ifeq 67
        61: .line 3547
            iload 5 /* position */
            istore 6 /* thumbnailOffset */
        start local 6 // int thumbnailOffset
        62: .line 3548
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            getstatic android.media.ExifInterface.JPEG_INTERCHANGE_FORMAT_TAG:Landroid/media/ExifInterface$ExifTag;
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        63: .line 3549
            iload 6 /* thumbnailOffset */
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        64: .line 3548
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        65: .line 3550
            aload 0 /* this */
            iload 2 /* exifOffsetFromBeginning */
            iload 6 /* thumbnailOffset */
            iadd
            putfield android.media.ExifInterface.mThumbnailOffset:I
        66: .line 3551
            iload 5 /* position */
            aload 0 /* this */
            getfield android.media.ExifInterface.mThumbnailLength:I
            iadd
            istore 5 /* position */
        end local 6 // int thumbnailOffset
        67: .line 3555
      StackMap locals:
      StackMap stack:
            iload 5 /* position */
            bipush 8
            iadd
            istore 6 /* totalSize */
        start local 6 // int totalSize
        68: .line 3565
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 72
        69: .line 3566
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_1
            aaload
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        70: .line 3567
            aload 3 /* ifdOffsets */
            iconst_1
            iaload
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        71: .line 3566
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        72: .line 3569
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_2
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 76
        73: .line 3570
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_0
            aaload
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_2
            aaload
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        74: .line 3571
            aload 3 /* ifdOffsets */
            iconst_2
            iaload
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
        75: .line 3570
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        76: .line 3573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_3
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 80
        77: .line 3574
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_1
            aaload
            getstatic android.media.ExifInterface.EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
            iconst_3
            aaload
            getfield android.media.ExifInterface$ExifTag.name:Ljava/lang/String;
        78: .line 3575
            aload 3 /* ifdOffsets */
            iconst_3
            iaload
            i2l
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
        79: .line 3574
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        80: .line 3579
      StackMap locals:
      StackMap stack:
            aload 1 /* dataOutputStream */
            iload 6 /* totalSize */
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedShort:(I)V
        81: .line 3580
            aload 1 /* dataOutputStream */
            getstatic android.media.ExifInterface.IDENTIFIER_EXIF_APP1:[B
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.write:([B)V
        82: .line 3581
            aload 1 /* dataOutputStream */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            if_acmpne 84
        83: .line 3582
            sipush 19789
            goto 85
      StackMap locals:
      StackMap stack: android.media.ExifInterface$ByteOrderedDataOutputStream
        84: sipush 18761
        85: .line 3581
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int int
      StackMap stack: android.media.ExifInterface$ByteOrderedDataOutputStream int
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeShort:(S)V
        86: .line 3583
            aload 1 /* dataOutputStream */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
        87: .line 3584
            aload 1 /* dataOutputStream */
            bipush 42
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedShort:(I)V
        88: .line 3585
            aload 1 /* dataOutputStream */
            ldc 8
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedInt:(J)V
        89: .line 3588
            iconst_0
            istore 7 /* ifdType */
        start local 7 // int ifdType
        90: goto 127
        91: .line 3589
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 7 /* ifdType */
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 126
        92: .line 3592
            aload 1 /* dataOutputStream */
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 7 /* ifdType */
            aaload
            invokevirtual java.util.HashMap.size:()I
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedShort:(I)V
        93: .line 3595
            aload 3 /* ifdOffsets */
            iload 7 /* ifdType */
            iaload
            iconst_2
            iadd
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 7 /* ifdType */
            aaload
            invokevirtual java.util.HashMap.size:()I
            bipush 12
            imul
            iadd
            iconst_4
            iadd
            istore 8 /* dataOffset */
        start local 8 // int dataOffset
        94: .line 3596
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 7 /* ifdType */
            aaload
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 115
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int int int int top java.util.Iterator
      StackMap stack:
        95: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* entry */
        start local 9 // java.util.Map$Entry entry
        96: .line 3599
            getstatic android.media.ExifInterface.sExifTagMapsForWriting:[Ljava/util/HashMap;
            iload 7 /* ifdType */
            aaload
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifTag
        97: .line 3598
            astore 11 /* tag */
        start local 11 // android.media.ExifInterface$ExifTag tag
        98: .line 3600
            aload 11 /* tag */
            getfield android.media.ExifInterface$ExifTag.number:I
            istore 12 /* tagNumber */
        start local 12 // int tagNumber
        99: .line 3601
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
            astore 13 /* attribute */
        start local 13 // android.media.ExifInterface$ExifAttribute attribute
       100: .line 3602
            aload 13 /* attribute */
            invokevirtual android.media.ExifInterface$ExifAttribute.size:()I
            istore 14 /* size */
        start local 14 // int size
       101: .line 3604
            aload 1 /* dataOutputStream */
            iload 12 /* tagNumber */
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedShort:(I)V
       102: .line 3605
            aload 1 /* dataOutputStream */
            aload 13 /* attribute */
            getfield android.media.ExifInterface$ExifAttribute.format:I
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedShort:(I)V
       103: .line 3606
            aload 1 /* dataOutputStream */
            aload 13 /* attribute */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeInt:(I)V
       104: .line 3607
            iload 14 /* size */
            iconst_4
            if_icmple 108
       105: .line 3608
            aload 1 /* dataOutputStream */
            iload 8 /* dataOffset */
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedInt:(J)V
       106: .line 3609
            iload 8 /* dataOffset */
            iload 14 /* size */
            iadd
            istore 8 /* dataOffset */
       107: .line 3610
            goto 115
       108: .line 3611
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int int int int java.util.Map$Entry java.util.Iterator android.media.ExifInterface$ExifTag int android.media.ExifInterface$ExifAttribute int
      StackMap stack:
            aload 1 /* dataOutputStream */
            aload 13 /* attribute */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.write:([B)V
       109: .line 3613
            iload 14 /* size */
            iconst_4
            if_icmpge 115
       110: .line 3614
            iload 14 /* size */
            istore 15 /* i */
        start local 15 // int i
       111: goto 114
       112: .line 3615
      StackMap locals: int
      StackMap stack:
            aload 1 /* dataOutputStream */
            iconst_0
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeByte:(I)V
       113: .line 3614
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
       114: iload 15 /* i */
            iconst_4
            if_icmplt 112
        end local 15 // int i
        end local 14 // int size
        end local 13 // android.media.ExifInterface$ExifAttribute attribute
        end local 12 // int tagNumber
        end local 11 // android.media.ExifInterface$ExifTag tag
        end local 9 // java.util.Map$Entry entry
       115: .line 3596
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int int int int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 95
       116: .line 3624
            iload 7 /* ifdType */
            ifne 119
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iconst_4
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 119
       117: .line 3625
            aload 1 /* dataOutputStream */
            aload 3 /* ifdOffsets */
            iconst_4
            iaload
            i2l
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedInt:(J)V
       118: .line 3626
            goto 120
       119: .line 3627
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int int int int
      StackMap stack:
            aload 1 /* dataOutputStream */
            lconst_0
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.writeUnsignedInt:(J)V
       120: .line 3631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 7 /* ifdType */
            aaload
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 125
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int int int int top java.util.Iterator
      StackMap stack:
       121: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* entry */
        start local 9 // java.util.Map$Entry entry
       122: .line 3632
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
            astore 11 /* attribute */
        start local 11 // android.media.ExifInterface$ExifAttribute attribute
       123: .line 3634
            aload 11 /* attribute */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            arraylength
            iconst_4
            if_icmple 125
       124: .line 3635
            aload 1 /* dataOutputStream */
            aload 11 /* attribute */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            iconst_0
            aload 11 /* attribute */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            arraylength
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.write:([BII)V
        end local 11 // android.media.ExifInterface$ExifAttribute attribute
        end local 9 // java.util.Map$Entry entry
       125: .line 3631
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 121
        end local 8 // int dataOffset
       126: .line 3588
      StackMap locals: android.media.ExifInterface android.media.ExifInterface$ByteOrderedDataOutputStream int int[] int[] int int int
      StackMap stack:
            iinc 7 /* ifdType */ 1
      StackMap locals:
      StackMap stack:
       127: iload 7 /* ifdType */
            getstatic android.media.ExifInterface.EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
            arraylength
            if_icmplt 91
        end local 7 // int ifdType
       128: .line 3642
            aload 0 /* this */
            getfield android.media.ExifInterface.mHasThumbnail:Z
            ifeq 130
       129: .line 3643
            aload 1 /* dataOutputStream */
            aload 0 /* this */
            invokevirtual android.media.ExifInterface.getThumbnailBytes:()[B
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.write:([B)V
       130: .line 3647
      StackMap locals:
      StackMap stack:
            aload 1 /* dataOutputStream */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ByteOrderedDataOutputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
       131: .line 3649
            iload 6 /* totalSize */
            ireturn
        end local 6 // int totalSize
        end local 5 // int position
        end local 4 // int[] ifdDataSizes
        end local 3 // int[] ifdOffsets
        end local 2 // int exifOffsetFromBeginning
        end local 1 // android.media.ExifInterface$ByteOrderedDataOutputStream dataOutputStream
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  132     0                     this  Landroid/media/ExifInterface;
            0  132     1         dataOutputStream  Landroid/media/ExifInterface$ByteOrderedDataOutputStream;
            0  132     2  exifOffsetFromBeginning  I
            1  132     3               ifdOffsets  [I
            2  132     4             ifdDataSizes  [I
            4    5     5                      tag  Landroid/media/ExifInterface$ExifTag;
           10   20     5                  ifdType  I
           13   16     6                      obj  Ljava/lang/Object;
           14   16    10                    entry  Ljava/util/Map$Entry;
           40   52     5                        i  I
           42   50     6                      sum  I
           44   48     7                    entry  Ljava/util/Map$Entry;
           45   48     9            exifAttribute  Landroid/media/ExifInterface$ExifAttribute;
           46   48    10                     size  I
           53  132     5                 position  I
           54   60     6                  ifdType  I
           62   67     6          thumbnailOffset  I
           68  132     6                totalSize  I
           90  128     7                  ifdType  I
           94  126     8               dataOffset  I
           96  115     9                    entry  Ljava/util/Map$Entry;
           98  115    11                      tag  Landroid/media/ExifInterface$ExifTag;
           99  115    12                tagNumber  I
          100  115    13                attribute  Landroid/media/ExifInterface$ExifAttribute;
          101  115    14                     size  I
          111  115    15                        i  I
          122  125     9                    entry  Ljava/util/Map$Entry;
          123  125    11                attribute  Landroid/media/ExifInterface$ExifAttribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                         Name  Flags
      dataOutputStream         
      exifOffsetFromBeginning  

  private static android.util.Pair<java.lang.Integer, java.lang.Integer> guessDataFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/util/Pair;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String entryValue
         0: .line 3662
            aload 0 /* entryValue */
            ldc ","
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 26
         1: .line 3663
            aload 0 /* entryValue */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* entryValues */
        start local 1 // java.lang.String[] entryValues
         2: .line 3664
            aload 1 /* entryValues */
            iconst_0
            aaload
            invokestatic android.media.ExifInterface.guessDataFormat:(Ljava/lang/String;)Landroid/util/Pair;
            astore 2 /* dataFormat */
        start local 2 // android.util.Pair dataFormat
         3: .line 3665
            aload 2 /* dataFormat */
            getfield android.util.Pair.first:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_2
            if_icmpne 5
         4: .line 3666
            aload 2 /* dataFormat */
            areturn
         5: .line 3668
      StackMap locals: java.lang.String[] android.util.Pair
      StackMap stack:
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         6: goto 24
         7: .line 3669
      StackMap locals: int
      StackMap stack:
            aload 1 /* entryValues */
            iload 3 /* i */
            aaload
            invokestatic android.media.ExifInterface.guessDataFormat:(Ljava/lang/String;)Landroid/util/Pair;
            astore 4 /* guessDataFormat */
        start local 4 // android.util.Pair guessDataFormat
         8: .line 3670
            iconst_m1
            istore 5 /* first */
        start local 5 // int first
         9: iconst_m1
            istore 6 /* second */
        start local 6 // int second
        10: .line 3671
            aload 4 /* guessDataFormat */
            getfield android.util.Pair.first:Ljava/lang/Object;
            aload 2 /* dataFormat */
            getfield android.util.Pair.first:Ljava/lang/Object;
            if_acmpeq 12
        11: .line 3672
            aload 4 /* guessDataFormat */
            getfield android.util.Pair.second:Ljava/lang/Object;
            aload 2 /* dataFormat */
            getfield android.util.Pair.first:Ljava/lang/Object;
            if_acmpne 13
        12: .line 3673
      StackMap locals: android.util.Pair int int
      StackMap stack:
            aload 2 /* dataFormat */
            getfield android.util.Pair.first:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* first */
        13: .line 3675
      StackMap locals:
      StackMap stack:
            aload 2 /* dataFormat */
            getfield android.util.Pair.second:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_m1
            if_icmpeq 16
            aload 4 /* guessDataFormat */
            getfield android.util.Pair.first:Ljava/lang/Object;
            aload 2 /* dataFormat */
            getfield android.util.Pair.second:Ljava/lang/Object;
            if_acmpeq 15
        14: .line 3676
            aload 4 /* guessDataFormat */
            getfield android.util.Pair.second:Ljava/lang/Object;
            aload 2 /* dataFormat */
            getfield android.util.Pair.second:Ljava/lang/Object;
            if_acmpne 16
        15: .line 3677
      StackMap locals:
      StackMap stack:
            aload 2 /* dataFormat */
            getfield android.util.Pair.second:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* second */
        16: .line 3679
      StackMap locals:
      StackMap stack:
            iload 5 /* first */
            iconst_m1
            if_icmpne 18
            iload 6 /* second */
            iconst_m1
            if_icmpne 18
        17: .line 3680
            new android.util.Pair
            dup
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        18: .line 3682
      StackMap locals:
      StackMap stack:
            iload 5 /* first */
            iconst_m1
            if_icmpne 21
        19: .line 3683
            new android.util.Pair
            dup
            iload 6 /* second */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            astore 2 /* dataFormat */
        20: .line 3684
            goto 23
        21: .line 3686
      StackMap locals:
      StackMap stack:
            iload 6 /* second */
            iconst_m1
            if_icmpne 23
        22: .line 3687
            new android.util.Pair
            dup
            iload 5 /* first */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            astore 2 /* dataFormat */
        end local 6 // int second
        end local 5 // int first
        end local 4 // android.util.Pair guessDataFormat
        23: .line 3668
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 3 /* i */
            aload 1 /* entryValues */
            arraylength
            if_icmplt 7
        end local 3 // int i
        25: .line 3691
            aload 2 /* dataFormat */
            areturn
        end local 2 // android.util.Pair dataFormat
        end local 1 // java.lang.String[] entryValues
        26: .line 3694
      StackMap locals:
      StackMap stack:
            aload 0 /* entryValue */
            ldc "/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 41
        27: .line 3695
            aload 0 /* entryValue */
            ldc "/"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* rationalNumber */
        start local 1 // java.lang.String[] rationalNumber
        28: .line 3696
            aload 1 /* rationalNumber */
            arraylength
            iconst_2
            if_icmpne 40
        29: .line 3698
            aload 1 /* rationalNumber */
            iconst_0
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            d2l
            lstore 2 /* numerator */
        start local 2 // long numerator
        30: .line 3699
            aload 1 /* rationalNumber */
            iconst_1
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            d2l
            lstore 4 /* denominator */
        start local 4 // long denominator
        31: .line 3700
            lload 2 /* numerator */
            lconst_0
            lcmp
            iflt 32
            lload 4 /* denominator */
            lconst_0
            lcmp
            ifge 34
        32: .line 3701
      StackMap locals: java.lang.String[] long long
      StackMap stack:
            new android.util.Pair
            dup
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        33: areturn
        34: .line 3703
      StackMap locals:
      StackMap stack:
            lload 2 /* numerator */
            ldc 2147483647
            lcmp
            ifgt 35
            lload 4 /* denominator */
            ldc 2147483647
            lcmp
            ifle 37
        35: .line 3704
      StackMap locals:
      StackMap stack:
            new android.util.Pair
            dup
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        36: areturn
        37: .line 3706
      StackMap locals:
      StackMap stack:
            new android.util.Pair
            dup
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        38: areturn
        end local 4 // long denominator
        end local 2 // long numerator
        39: .line 3707
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack: java.lang.NumberFormatException
            pop
        40: .line 3711
      StackMap locals:
      StackMap stack:
            new android.util.Pair
            dup
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.String[] rationalNumber
        41: .line 3714
      StackMap locals:
      StackMap stack:
            aload 0 /* entryValue */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 1 /* longValue */
        start local 1 // java.lang.Long longValue
        42: .line 3715
            aload 1 /* longValue */
            invokevirtual java.lang.Long.longValue:()J
            lconst_0
            lcmp
            iflt 45
            aload 1 /* longValue */
            invokevirtual java.lang.Long.longValue:()J
            ldc 65535
            lcmp
            ifgt 45
        43: .line 3716
            new android.util.Pair
            dup
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        44: areturn
        45: .line 3718
      StackMap locals: java.lang.Long
      StackMap stack:
            aload 1 /* longValue */
            invokevirtual java.lang.Long.longValue:()J
            lconst_0
            lcmp
            ifge 48
        46: .line 3719
            new android.util.Pair
            dup
            bipush 9
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        47: areturn
        48: .line 3721
      StackMap locals:
      StackMap stack:
            new android.util.Pair
            dup
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        49: areturn
        end local 1 // java.lang.Long longValue
        50: .line 3722
      StackMap locals: java.lang.String
      StackMap stack: java.lang.NumberFormatException
            pop
        51: .line 3726
            aload 0 /* entryValue */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            pop2
        52: .line 3727
            new android.util.Pair
            dup
            bipush 12
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        53: areturn
        54: .line 3728
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        55: .line 3731
            new android.util.Pair
            dup
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.String entryValue
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   56     0       entryValue  Ljava/lang/String;
            2   26     1      entryValues  [Ljava/lang/String;
            3   26     2       dataFormat  Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;
            6   25     3                i  I
            8   23     4  guessDataFormat  Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;
            9   23     5            first  I
           10   23     6           second  I
           28   41     1   rationalNumber  [Ljava/lang/String;
           30   39     2        numerator  J
           31   39     4      denominator  J
           42   50     1        longValue  Ljava/lang/Long;
      Exception table:
        from    to  target  type
          29    33      39  Class java.lang.NumberFormatException
          34    36      39  Class java.lang.NumberFormatException
          37    38      39  Class java.lang.NumberFormatException
          41    44      50  Class java.lang.NumberFormatException
          45    47      50  Class java.lang.NumberFormatException
          48    49      50  Class java.lang.NumberFormatException
          51    53      54  Class java.lang.NumberFormatException
    Signature: (Ljava/lang/String;)Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;
    MethodParameters:
            Name  Flags
      entryValue  

  private void swapBasedOnImageSize(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // int firstIfdType
        start local 2 // int secondIfdType
         0: .line 4033
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 1 /* firstIfdType */
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 1
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* secondIfdType */
            aaload
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifeq 2
         1: .line 4037
      StackMap locals:
      StackMap stack:
            return
         2: .line 4041
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 1 /* firstIfdType */
            aaload
            ldc "ImageLength"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         3: .line 4040
            astore 3 /* firstImageLengthAttribute */
        start local 3 // android.media.ExifInterface$ExifAttribute firstImageLengthAttribute
         4: .line 4043
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 1 /* firstIfdType */
            aaload
            ldc "ImageWidth"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         5: .line 4042
            astore 4 /* firstImageWidthAttribute */
        start local 4 // android.media.ExifInterface$ExifAttribute firstImageWidthAttribute
         6: .line 4045
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* secondIfdType */
            aaload
            ldc "ImageLength"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         7: .line 4044
            astore 5 /* secondImageLengthAttribute */
        start local 5 // android.media.ExifInterface$ExifAttribute secondImageLengthAttribute
         8: .line 4047
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* secondIfdType */
            aaload
            ldc "ImageWidth"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.ExifInterface$ExifAttribute
         9: .line 4046
            astore 6 /* secondImageWidthAttribute */
        start local 6 // android.media.ExifInterface$ExifAttribute secondImageWidthAttribute
        10: .line 4049
            aload 3 /* firstImageLengthAttribute */
            ifnull 23
            aload 4 /* firstImageWidthAttribute */
            ifnonnull 12
        11: .line 4053
            goto 23
      StackMap locals: android.media.ExifInterface int int android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute android.media.ExifInterface$ExifAttribute
      StackMap stack:
        12: aload 5 /* secondImageLengthAttribute */
            ifnull 23
            aload 6 /* secondImageWidthAttribute */
            ifnonnull 14
        13: .line 4057
            goto 23
        14: .line 4058
      StackMap locals:
      StackMap stack:
            aload 3 /* firstImageLengthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 7 /* firstImageLengthValue */
        start local 7 // int firstImageLengthValue
        15: .line 4059
            aload 4 /* firstImageWidthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 8 /* firstImageWidthValue */
        start local 8 // int firstImageWidthValue
        16: .line 4060
            aload 5 /* secondImageLengthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 9 /* secondImageLengthValue */
        start local 9 // int secondImageLengthValue
        17: .line 4061
            aload 6 /* secondImageWidthAttribute */
            aload 0 /* this */
            getfield android.media.ExifInterface.mExifByteOrder:Ljava/nio/ByteOrder;
            invokevirtual android.media.ExifInterface$ExifAttribute.getIntValue:(Ljava/nio/ByteOrder;)I
            istore 10 /* secondImageWidthValue */
        start local 10 // int secondImageWidthValue
        18: .line 4063
            iload 7 /* firstImageLengthValue */
            iload 9 /* secondImageLengthValue */
            if_icmpge 23
        19: .line 4064
            iload 8 /* firstImageWidthValue */
            iload 10 /* secondImageWidthValue */
            if_icmpge 23
        20: .line 4065
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 1 /* firstIfdType */
            aaload
            astore 11 /* tempMap */
        start local 11 // java.util.HashMap tempMap
        21: .line 4066
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 1 /* firstIfdType */
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* secondIfdType */
            aaload
            aastore
        22: .line 4067
            aload 0 /* this */
            getfield android.media.ExifInterface.mAttributes:[Ljava/util/HashMap;
            iload 2 /* secondIfdType */
            aload 11 /* tempMap */
            aastore
        end local 11 // java.util.HashMap tempMap
        end local 10 // int secondImageWidthValue
        end local 9 // int secondImageLengthValue
        end local 8 // int firstImageWidthValue
        end local 7 // int firstImageLengthValue
        23: .line 4070
      StackMap locals:
      StackMap stack:
            return
        end local 6 // android.media.ExifInterface$ExifAttribute secondImageWidthAttribute
        end local 5 // android.media.ExifInterface$ExifAttribute secondImageLengthAttribute
        end local 4 // android.media.ExifInterface$ExifAttribute firstImageWidthAttribute
        end local 3 // android.media.ExifInterface$ExifAttribute firstImageLengthAttribute
        end local 2 // int secondIfdType
        end local 1 // int firstIfdType
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   24     0                        this  Landroid/media/ExifInterface;
            0   24     1                firstIfdType  I
            0   24     2               secondIfdType  I
            4   24     3   firstImageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
            6   24     4    firstImageWidthAttribute  Landroid/media/ExifInterface$ExifAttribute;
            8   24     5  secondImageLengthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           10   24     6   secondImageWidthAttribute  Landroid/media/ExifInterface$ExifAttribute;
           15   23     7       firstImageLengthValue  I
           16   23     8        firstImageWidthValue  I
           17   23     9      secondImageLengthValue  I
           18   23    10       secondImageWidthValue  I
           21   23    11                     tempMap  Ljava/util/HashMap;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      firstIfdType   
      secondIfdType  

  private boolean containsMatch(byte[], byte[]);
    descriptor: ([B[B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.media.ExifInterface this
        start local 1 // byte[] mainBytes
        start local 2 // byte[] findBytes
         0: .line 4074
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 11
         2: .line 4075
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         3: goto 9
         4: .line 4076
      StackMap locals: int
      StackMap stack:
            aload 1 /* mainBytes */
            iload 3 /* i */
            iload 4 /* j */
            iadd
            baload
            aload 2 /* findBytes */
            iload 4 /* j */
            baload
            if_icmpeq 6
         5: .line 4077
            goto 10
         6: .line 4079
      StackMap locals:
      StackMap stack:
            iload 4 /* j */
            aload 2 /* findBytes */
            arraylength
            iconst_1
            isub
            if_icmpne 8
         7: .line 4080
            iconst_1
            ireturn
         8: .line 4075
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* j */
            aload 2 /* findBytes */
            arraylength
            if_icmplt 4
        end local 4 // int j
        10: .line 4074
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 1 /* mainBytes */
            arraylength
            aload 2 /* findBytes */
            arraylength
            isub
            if_icmplt 2
        end local 3 // int i
        12: .line 4084
            iconst_0
            ireturn
        end local 2 // byte[] findBytes
        end local 1 // byte[] mainBytes
        end local 0 // android.media.ExifInterface this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Landroid/media/ExifInterface;
            0   13     1  mainBytes  [B
            0   13     2  findBytes  [B
            1   12     3          i  I
            3   10     4          j  I
    MethodParameters:
           Name  Flags
      mainBytes  
      findBytes  

  private static long[] convertToLongArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)[J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Object inputObj
         0: .line 4092
            aload 0 /* inputObj */
            instanceof int[]
            ifeq 9
         1: .line 4093
            aload 0 /* inputObj */
            checkcast int[]
            astore 1 /* input */
        start local 1 // int[] input
         2: .line 4094
            aload 1 /* input */
            arraylength
            newarray 11
            astore 2 /* result */
        start local 2 // long[] result
         3: .line 4095
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 4096
      StackMap locals: int[] long[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 1 /* input */
            iload 3 /* i */
            iaload
            i2l
            lastore
         6: .line 4095
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* input */
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 4098
            aload 2 /* result */
            areturn
        end local 2 // long[] result
        end local 1 // int[] input
         9: .line 4099
      StackMap locals:
      StackMap stack:
            aload 0 /* inputObj */
            instanceof long[]
            ifeq 11
        10: .line 4100
            aload 0 /* inputObj */
            checkcast long[]
            areturn
        11: .line 4102
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object inputObj
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  inputObj  Ljava/lang/Object;
            2    9     1     input  [I
            3    9     2    result  [J
            4    8     3         i  I
    MethodParameters:
          Name  Flags
      inputObj  
}
SourceFile: "ExifInterface.java"
NestMembers:
  android.media.ExifInterface$1  android.media.ExifInterface$ByteOrderedDataInputStream  android.media.ExifInterface$ByteOrderedDataOutputStream  android.media.ExifInterface$ExifAttribute  android.media.ExifInterface$ExifTag  android.media.ExifInterface$IfdType  android.media.ExifInterface$Rational
InnerClasses:
  public final AssetInputStream = android.content.res.AssetManager$AssetInputStream of android.content.res.AssetManager
  public final Config = android.graphics.Bitmap$Config of android.graphics.Bitmap
  android.media.ExifInterface$1
  private ByteOrderedDataInputStream = android.media.ExifInterface$ByteOrderedDataInputStream of android.media.ExifInterface
  private ByteOrderedDataOutputStream = android.media.ExifInterface$ByteOrderedDataOutputStream of android.media.ExifInterface
  private ExifAttribute = android.media.ExifInterface$ExifAttribute of android.media.ExifInterface
  private ExifTag = android.media.ExifInterface$ExifTag of android.media.ExifInterface
  public abstract IfdType = android.media.ExifInterface$IfdType of android.media.ExifInterface
  private Rational = android.media.ExifInterface$Rational of android.media.ExifInterface
  public abstract Entry = java.util.Map$Entry of java.util.Map